home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / newsgroups / misc.19970929-19971216 / 000294_news@newsmaster….columbia.edu _Tue Nov 18 10:32:09 1997.msg < prev    next >
Internet Message Format  |  2020-01-01  |  115KB

  1. Return-Path: <news@newsmaster.cc.columbia.edu>
  2. Received: from newsmaster.cc.columbia.edu (newsmaster.cc.columbia.edu [128.59.35.30])
  3.     by watsun.cc.columbia.edu (8.8.5/8.8.5) with ESMTP id KAA29023
  4.     for <kermit.misc@watsun.cc.columbia.edu>; Tue, 18 Nov 1997 10:32:09 -0500 (EST)
  5. Received: (from news@localhost)
  6.     by newsmaster.cc.columbia.edu (8.8.5/8.8.5) id KAA26424
  7.     for kermit.misc@watsun; Tue, 18 Nov 1997 10:32:08 -0500 (EST)
  8. Path: news.columbia.edu!watsun.cc.columbia.edu!fdc
  9. From: fdc@watsun.cc.columbia.edu (Frank da Cruz)
  10. Newsgroups: comp.protocols.kermit.misc
  11. Subject: Re: Post FAQ?
  12. Date: 18 Nov 1997 15:31:36 GMT
  13. Organization: Columbia University
  14. Lines: 2325
  15. Message-ID: <64scco$h1q$1@apakabar.cc.columbia.edu>
  16. References: <3470B666.11DC@supremecourt.gov>
  17. NNTP-Posting-Host: watsun.cc.columbia.edu
  18. Xref: news.columbia.edu comp.protocols.kermit.misc:8079
  19.  
  20. In article <3470B666.11DC@supremecourt.gov>,
  21. Roy Buzdor  <first.amendment@supremecourt.gov> wrote:
  22. : Would it be possible to post the Kermit FAQ on a
  23. : monthly, or quarterly basis for those of us who
  24. : are fire-wall impaired?
  25. It is rather long, but sure.  Here it is:
  26.  
  27. KERMIT: FREQUENTLY ASKED QUESTIONS
  28.  
  29. >From the comp.protocols.kermit.misc newsgroup and elsewhere...
  30.  
  31. Most questions are already answered in the published documentation.  Reading
  32. the appropriate manuals (in conjunction with online release notes) will get you
  33. started, answer most of your questions, and will let you get the most out of
  34. your Kermit software: maximize the performance, write scripts to automate your
  35. communications tasks, and so on.  The Kermit effort is entirely
  36. self-supporting, and proceeds from sales of these manuals is our primary source
  37. of funding.  So please do purchase the manuals.
  38.  
  39. Most recent update: 17 November 1997
  40.  
  41.                                Table of Contents
  42.  
  43.    1 HOW TO FIND KERMIT SOFTWARE                                              i
  44.    2 WHAT IS THE CURRENT VERSION OF KERMIT?                                   i
  45.    3 WHERE TO GET KERMIT MANUALS                                              i
  46.    4 WHY IS KERMIT SO SLOW COMPARED TO ZMODEM?  (IT ISN'T!)                  ii
  47.    5 MY BACKSPACE KEY DOESN'T WORK!                                          ii
  48.    6 HOW DO I USE MS-DOS KERMIT OVER TRUMPET WINSOCK OR MS WfW TCP?         iii
  49.    7 HOW TO TRANSFER FILES THROUGH A 3270 PROTOCOL CONVERTER?                iv
  50.    8 WHERE IS THE KEY MAP FOR 3270 EMULATION?                                 v
  51.    9 HOW CAN I MAKE MS-DOS KERMIT USE COM3, COM4?                             v
  52.    10 MS-DOS KERMIT PATCHES DON'T SEEM TO TAKE EFFECT.                        v
  53.    11 I CAN TRANSFER TEXT FILES BUT NOT BINARY FILES                          v
  54.    12 BINARY FILES ARE CORRUPTED AFTER TRANSFER                               v
  55.    13 WHY DOESN'T THE HANGUP COMMAND WORK FOR ME?                             v
  56.    14 HOW CAN I MAKE THE DIAL/REDIAL COMMANDS KEEP TRYING?                   vi
  57.    15 I ENABLED SLIDING WINDOWS BUT IT LOOKS LIKE ONLY ONE IS USED.          vi
  58.    16 HOW DO I WRITE A SCRIPT TO DIAL A PAGER?                               vi
  59.    17 WHEN C-KERMIT DIALS MY V.32BIS (OR V.34) MODEM, I GET THE ERROR        vi
  60.       'CAN'T CHANGE SPEED TO 14400 (OR 28800)'
  61.    18 HOW DO I USE KERMIT WITH PINE?                                        vii
  62.    19 HOW DO I GET A SESSION LOG WITHOUT ALL THE EMBEDDED ESCAPE            vii
  63.       SEQUENCES?
  64.    20 KERMIT DOESN'T WORK RIGHT WITH MY (RPI) ERROR-CORRECTING MODEM!       vii
  65.    21 WHAT ABOUT WINMODEMS?                                                viii
  66.    22 WHAT KIND OF MODEM SHOULD I BUY?                                     viii
  67.    23 MY ARROW KEYS DON'T WORK                                             viii
  68.    24 KERMIT UNDER WINDOWS CAN'T FIND MY PORT                                ix
  69.    25 IF I HAVE AN ERROR CORRECTING MODEM WHY DO I NEED KERMIT PROTOCOL?     ix
  70.    26 HOW DO I USE 'SET KEY' WITH PC F-KEYS, ETC, IN UNIX OR VMS C-KERMIT?    x
  71.    27 HOW CAN I EXIT FROM C-KERMIT WITHOUT HANGING UP?                        x
  72.    28 WHAT IS SUPERKERMIT?                                                    x
  73.    29 IS KERMIT SOFTWARE YEAR-2000 COMPLIANT?                                 x
  74.    30 IS THERE A KERMIT LIBRARY?                                              x
  75.    31 HOW DO I CALL UP A DIALBACK SERVICE?                                   xi
  76.    32 HOW DOES THE NUMERIC KEYPAD WORK?                                      xi
  77.    33 HOW TO GET RID OF THE "OK TO EXIT?" PROMPT?                            xi
  78.    34 HOW TO TELL KERMIT TO IGNORE DIALTONE?                                 xi
  79.    35 WHERE IS THE DIALING SCRIPT FOR MY MODEM?                             xii
  80.    36 I'M HAVING TERMINAL EMULATION PROBLEMS WITH C-KERMIT                  xii
  81.    37 DIVIDE OVERFLOW IN MS-DOS KERMIT                                      xii
  82.  
  83. -------------------------------------------------------------------------------
  84. 1 HOW TO FIND KERMIT SOFTWARE
  85.  
  86.   World-Wide Web:
  87.     http://www.columbia.edu/kermit/
  88.  
  89.   ftp: kermit.columbia.edu
  90.     This is the definitive source for Kermit software
  91.     on the Internet.  Other Kermit archives or "mirror sites"
  92.     are not necessarily complete, accurate, or up to date.
  93.  
  94.   Newsgroups:
  95.     comp.protocols.kermit.announce - Moderated
  96.     comp.protocols.kermit.misc     - Unmoderated
  97.  
  98.   E-mail:
  99.     kermit-orders@columbia.edu (Orders and order inquiries)
  100.     kermit-support@columbia.edu (Tech support)
  101.     kermit@columbia.edu (General -- not an FTP mail server!)
  102.  
  103.   Post:
  104.     The Kermit Project
  105.     Columbia University
  106.     612 West 115th Street
  107.     New York NY  10025-7799
  108.     USA
  109.  
  110.   Fax:  +1 212 663-8202  or  +1 212 662-6442
  111.  
  112. -------------------------------------------------------------------------------
  113. 2 WHAT IS THE CURRENT VERSION OF KERMIT?
  114.  
  115. Kermit 95 for Windows 95 and NT:        1.1.15        Sep 30 1997
  116. Kermit 95 for OS/2:                     1.1.15        Sep 30 1997
  117. MS-DOS Kermit for DOS and Windows 3.x:  3.15          Sep 15 1997
  118. C-Kermit for UNIX, VMS, AOS/VS, OS-9:   6.0.192       Sep  6 1996
  119. C-Kermit for OS/2 1.x (16-bit:          5A(190)       Oct  4 1994
  120. C-Kermit for Stratus VOS:               6.0.192       Mar  7 1997
  121. C-Kermit for Atari ST:                  5A(189)       Jun 30 1993
  122. Mac Kermit (NOT A REAL RELEASE):        0.993(192)    Jun  3 1996
  123. IBM Mainframe Kermit:                   4.3.1         Feb 10 1995
  124. Kermit-11 for RT-11:                    3.63          Sep 27 1997
  125. Kermit-11 for RSX, RSTS, etc:           3.60          Jun 13 1989
  126.  
  127. Others (hundreds of them): See kermit/a/aavsys.hlp.
  128.  
  129. Also see the What's New section of our website.
  130.  
  131. -------------------------------------------------------------------------------
  132. 3 WHERE TO GET KERMIT MANUALS
  133.  
  134. MS-DOS Kermit, full-featured communications software for IBM and compatible PCs
  135. with DOS or Windows 3.x, is documented in:
  136.  
  137.     Christine M. Gianone, Using MS-DOS Kermit, Second Edition, Digital
  138.     Press / Butterworth-Heinemann, Woburn, MA, 1992, 345 pages, ISBN
  139.     1-55558-082-3.  Packaged with the current version of MS-DOS Kermit for
  140.     the IBM PC, PS/2, and compatibles on a 3.5-inch diskette.  In computer
  141.     and book stores, or order direct from Columbia University or from
  142.     Digital Press.
  143.  
  144. A German-language edition is also available:
  145.  
  146.     Christine M. Gianone, MS-DOS Kermit, das universelle
  147.     Kommunikationsprogramm, Verlag Heinz Heise, Hannover, Germany (1991),
  148.     414 pages.  Packaged with version 3.12 of MS-DOS Kermit for the IBM PC,
  149.     PS/2, and compatibles on a 5.25-inch diskette, including German-
  150.     language help files.  Deutsch von Gisbert W. Selke.  ISBN
  151.     3-88229-006-4.
  152.  
  153. And a French-language edition:
  154.  
  155.     Christine M. Gianone, Kermit MS-DOS mode d'emploi, Deuxieme edition,
  156.     Heinz Schiefer & Cie., Versailles (1993), 406 pages.  Packaged with
  157.     version 3.11 of MS-DOS Kermit for the IBM PC, PS/2, and compatibles on
  158.     a 5.25-inch diskette.  Adaption francaise: Jean Dutertre.  ISBN
  159.     2-901143-20-2.
  160.  
  161. There is also a Japanese book about MS-DOS Kermit, concentrating on the NEC
  162. PC9801:
  163.  
  164.     Hirofumi Fujii and Fukuko Yuasa, MS-Kermit Nyumon, Computer Today
  165.     Library 6, Saiensu-Sha Co., Ltd., publishers (1993), 160 pages.  ISBN
  166.     4-7819-0669-9 C3355 P1854E.
  167.  
  168. C-Kermit 6.0, full-function communication software for UNIX, VMS, AOS/VS, VOS,
  169. OS-9, QNX, the Commodore Amiga, and other platforms, is documented in:
  170.  
  171.     Frank da Cruz and Christine M. Gianone, Using C-Kermit, Second Edition,
  172.     Digital Press / Butterworth-Heinemann, Woburn, MA, 1997, 622 pages,
  173.     ISBN 1-55558-164-1.  In computer and book stores, or order direct from
  174.     Columbia University or from Digital Press.
  175.  
  176. A German-language edition is also available:
  177.  
  178.     Frank da Cruz und Christine M. Gianone, C-Kermit--Einfuehrung und
  179.     Referenz, Verlag Heinz Heise, Hannover, Germany (1994).  ISBN
  180.     3-88229-023-4.  Deutsch von Gisbert W. Selke.
  181.  
  182. The Kermit File transfer protocol is specified in the following book, which
  183. also includes tutorials on computers, file systems, data communications, and
  184. using Kermit:
  185.  
  186.     Frank da Cruz, Kermit, A File Transfer Protocol, Digital Press /
  187.     Butterworth-Heinemann, Worburn, MA, 1987, 379 pages, ISBN
  188.     0-932376-88-6.  In computer and book stores, or order direct from
  189.     Columbia University or from Digital Press.
  190.  
  191. Kermit software for hundreds of different computers and operating systems is
  192. available from Columbia University.  Contact Columbia for a free Kermit
  193. software catalog.
  194.  
  195. ENGLISH-LANGUAGE KERMIT BOOKS:
  196.  
  197.    1. In computer and book stores, or order direct from the publisher,
  198.       Digital Press / Butterworth-Heinemann with MasterCard, Visa, or
  199.       American Express:
  200.         +1 800 366-2665   (Woburn, MA office for USA & Canada,
  201.                            Toll-free M-F 8AM-6PM Eastern time)
  202.         +1 617 928 2613   (Newton, MA office for sales/marketing info)
  203.         +44 1865 314627   (Oxford, England distribution centre for
  204.         +61 03 9245 7111  (Melbourne, Vic, office for Australia & NZ)
  205.         +65 356-1968      (Singapore office for Malaysia, Singapore,
  206.                            Indonesia, Philippines, Thailand)
  207.         +27 (31) 2683111  (Durban office for South Africa)
  208.  
  209.    2. From Columbia University:
  210.         The Kermit Project
  211.         Columbia University
  212.         612 West 115th Street
  213.         New York NY  10025-7799
  214.         USA
  215.         Tel.  +1 212 854-3703
  216.         Fax.  +1 212 663-8202
  217.         E-Mail: kermit@columbia.edu
  218.       Domestic and overseas orders accepted.  Add $10 US PER BOOK for
  219.       shipping outside of North America.  Orders may be paid by MasterCard
  220.       or Visa, or prepaid by check in US dollars.  Add $35 bank fee for
  221.       checks not drawn on a US bank.  Price includes shipping.  Do not
  222.       include sales tax.  Quantity discounts are available.  Single-copy
  223.       US prices (in US dollars):
  224.         Using MS-DOS Kermit  . . . . . . . . . . . . . . . . .$ 39.95
  225.         Using C-Kermit . . . . . . . . . . . . . . . . . . . .$ 39.95
  226.         Kermit, A File Transfer Protocol . . . . . . . . . . .$ 34.95
  227.         All three  . . . . . . . . . . . . . . . . . . . . . .$ 90.00
  228.  
  229. GERMAN-LANGUAGE KERMIT BOOKS:
  230.   MS-DOS Kermit, das universelle Kommunikationsprogramm: DM 79,00
  231.   C-Kermit--Einfuhrung und Referenz: . . . . . . . . . . DM 88,00
  232.  
  233.   Verlag Heinz Heise GmbH & Co. KG
  234.   Helstorfer Strasse 7
  235.   D-30625 Hannover, GERMANY
  236.   Tel.  +49 (05 11) 53 52-0
  237.   Fax.  +49 (05 11) 53 52-1 29
  238.  
  239. FRENCH:  Kermit MS-DOS Mode d'Emploi:  . . . . . . . . . . .  FF 495,00
  240.   Heinz Schiefer & Cie.
  241.   45 rue Henri de Regnier
  242.   F-78000 Versailles, FRANCE
  243.   Tel.  +33 39 53 95 26
  244.   Fax.  +33 39 02 39 71
  245.  
  246. JAPANESE:  MS-Kermit Nyumon: . . . . . . . . . . . . . . . . .  1,800 Y
  247.   Saiensu-Sha Co., Ltd.
  248.   Abe-toku Building
  249.   2-4 Kanda-suda cho, Chiyoda-ku
  250.   Tokyo 101, JAPAN
  251.   Tel.  +81-3-3256-1091
  252.  
  253. -------------------------------------------------------------------------------
  254. 4 WHY IS KERMIT SO SLOW COMPARED TO ZMODEM?  (IT ISN'T!)
  255.  
  256. Path: news.columbia.edu!usenet
  257. From: fdc@columbia.edu (Frank da Cruz)
  258. Newsgroups: comp.protocols.kermit.misc
  259. Subject: Re: [HELP] Slow Kermit Transfer ?!
  260. Date: 19 Sep 1994 14:15:42 GMT
  261. Organization: Columbia University
  262. Lines: 153
  263.  
  264. In article <35jrgsINNdq2@newsman.csu.murdoch.edu.au>
  265. anson@csuvax1.csu.murdoch.edu.au (Binh Anson) writes:
  266. > I used Kermit 3.13 for my PC, my modem has a speed of 14.4 K, but I
  267. > found that the downloading rate from the mainframe to my PC was
  268. > still very slow!  I tried Telix with SZ (Z-Modem Protocol), and it
  269. > was very fast compared to Kermit. Is there a way to accelerate
  270. > Kermit transfer ?
  271. >
  272. Yes.
  273.  
  274. But first, welcome to comp.protocols.kermit.misc.  This is the first day of
  275. operation of this unmoderated newsgroup.  I hope it will prove beneficial to
  276. all Kermit users.
  277.  
  278. To answer your question, somewhat longwindedly, since this Question is Asked so
  279. Frequently :-) ...
  280.  
  281. Zmodem is optimized for speed on the assumption that it has a clear 8-bit
  282. transparent channel with no blockages (small buffers, etc), and so, out of the
  283. box, when it works it goes fast.  The tradeoff is that it often does not work
  284. at all, in which case you have to configure it in various ways -- escaping of
  285. control characters, changing window size, etc.  In some cases it can't be made
  286. to work at all, either because of the nature of the connection, or because of
  287. one or both of the computers on the two ends.
  288.  
  289. Kermit, on the other hand, is configured to work -- i.e. transfer files -- out
  290. of the box, even under hostile conditions.  By default, it does not assume that
  291. control characters pass through transparently, nor that large buffers are
  292. available.  It does not even assume a full-duplex connection.  The tradeoff is
  293. speed.
  294.  
  295. In a perfect world, there would be no tradeoffs, but the world is far from
  296. perfect.  7-bit transmission is still extremely common, small buffers are very
  297. common, even in modern terminal servers and other communications processors,
  298. flow control is rarely implemented correctly and effectively, telephone lines
  299. are still noisy, and we still have a bewildering array of communication methods
  300. needed for accessing different kinds of hosts and services.  Most PCs are still
  301. shipped with non-buffered UARTs; many PCs have interrupt conflicts, noisy
  302. buses, etc; many modern modems are buggy.  The list goes on.  This is by way of
  303. demonstrating that Kermit's default tuning is not crazy, and goes a long way
  304. towards explaining its justified reputation for dependability.
  305.  
  306. Unfortunately, because of the tradeoffs necessary to achieve its reliability,
  307. Kermit has a reputation for slowness:
  308.  
  309.     Yes, Kermit transfers are slow if you use the default tuning.
  310.  
  311. However, you can make Kermit go as fast as the communication path will permit
  312. by changing a few parameters.  But first, here are some general principles that
  313. apply to all communications software:
  314.  
  315.    1. Ensure that you have an effective means of flow control enabled at
  316.       every juncture along the communication path (this applies to any
  317.       file transfer protocol).  For example, when using high-speed,
  318.       error-correcting modems, you should use some form of hardware flow
  319.       control, most commonly RTS/CTS.  You have to tell the software to
  320.       use it, AND you have to tell the modem to use it too -- if the flow
  321.       control methods of the PC and the modem do not agree, then data will
  322.       be lost.  The same is true of the modem at the other end of the
  323.       connection, and the computer or device it is connected to.
  324.  
  325.    2. If your modem is capable of data compression, use it.  Fix the
  326.       interface speed of the software to four times the connection speed
  327.       if possible -- e.g. for a V.32bis 14400 bps connection, use an
  328.       interface speed of 57600, or else the modem's compression capacity
  329.       is likely to be wasted.
  330.  
  331.    3. On network connections (e.g. TCP/IP), it is usually best to turn off
  332.       flow control entirely, because the underlying networking method
  333.       supplies fully effective flow control.
  334.  
  335. Now, to make Kermit go fast, follow these steps:
  336.  
  337.    1. Use real Kermit software, not the many shareware and commercial
  338.       packages, most of whose Kermit protocol implementations lack the
  339.       performance features listed below and/or the means for the user to
  340.       control them.
  341.  
  342.  
  343.    2. Use long packets.  Kermit's default packet length is 94.  You can
  344.       increase it to a theoretical maximum of 9024.  Give the following
  345.       command to the file receiver:
  346.  
  347.       SET RECEIVE PACKET-LENGTH 2000  ; (or other length)
  348.  
  349.       The longer you make the packets, the more efficient the file
  350.       transfer will be... IF IT WORKS.  If you make packets longer than
  351.       some buffer somewhere along the line, and effective flow control is
  352.       lacking, the transfer might not work.  Also, the longer the packet,
  353.       the greater the chance it will be hit by noise, and the longer it
  354.       takes to retransmit.  A good starting value to try is 1000.
  355.  
  356.  
  357.    3. On full duplex connections, use sliding windows.  Sliding windows
  358.       allow packets to be transmitted in a continuous stream, rather than
  359.       "stop and wait" style.  The command is:
  360.  
  361.       SET WINDOW 4 ; (or other number)
  362.  
  363.       The maximum is 32 (or less, depending on the implementation).  Give
  364.       this command to both Kermit programs.
  365.  
  366. For text files and uncompressed binary files, this should give you very good
  367. performance -- efficiencies in the 85%-100% range.
  368.  
  369. For compressed files, and certain other types of binary files, you can squeeze
  370. out another 20-25% efficiency by telling Kermit not to prefix a given list of
  371. control characters.  A typical sequence might be:
  372.  
  373.   SET CONTROL UNPREFIX ALL  ;  Unprefix all control characters.
  374.   SET CONTROL PREFIX 0 1 13 129 141 ...  ; Add back prefixes for these.
  375.  
  376. This might require some trial and error because there is no way that a
  377. communication software program can know what characters are safe and which ones
  378. are not on a particular connection.  For example, you might be going through an
  379. X.25 PAD where Ctrl-P will pop you back to the PAD prompt.  Or you might be
  380. going through a TELNET terminal server where Ctrl-] or Ctrl-^ will pop you back
  381. to the terminal server prompt.  Or the connection might be using Xon/Xoff flow
  382. control, and sending Ctrl-S as a data character might freeze the connection.
  383.  
  384. If you take all of these steps, using optimal packet lengths, window sizes, and
  385. unprefixing, you should achieve transfer rates comparable to, and often better
  386. than, the Zmodem implementations that you find in Telix, Procomm, and similar
  387. shareware and BBS packages; for example, on a V.32bis/V.42/V.42bis connection,
  388. RTS/CTS flow control, no parity, 57600 bps interface speed:
  389.  
  390.   Typical text files:        3500 cps (characters per second)
  391.   Uncompressed binary files: 2400 cps (e.g. PC KERMIT.EXE)
  392.   Compressed files:          1600 cps (e.g. ZIP files)
  393.  
  394. These figures come from Kermit News #5, June 1993, which is available on the
  395. Web and also via anonymous ftp from kermit.columbia.edu, directory kermit/e,
  396. file newsn5.txt (ASCII) or newsn5.ps (PostScript).  Also see Kermit News #4,
  397. newsn4.txt (.ps), for a detailed discussion of long packets and sliding
  398. windows.  [As of late March 1995, there are also html versions of these files
  399. suitable for Web access.]  Kermit software is available via anonymous ftp to
  400. kermit.columbia.edu [128.59.39.2], directory kermit and its subdirectories.
  401. There are literally hundreds of different Kermit programs for *almost* every
  402. machine and operating system imaginable.  The most widely used Kermit programs
  403. are:
  404.  
  405.    - MS-DOS Kermit for DOS and Windows 3.x.  No, this is not a native Windows
  406.      application, but yes, this is the Kermit software we recommend and support
  407.      for Windows 3.x.  File: kermit/archives/msvibm.zip
  408.  
  409.    - C-Kermit for UNIX, VMS, OS-9, AOS/VS, the Commodore Amiga, etc.
  410.  
  411.    - IBM Mainframe Kermit-370 for VM/CMS, MVS/TSO, CICS, and MUSIC.
  412.      kermit/b/ik*.*.
  413.  
  414. - Frank
  415.  
  416. POSTSCRIPT:  The Kermit software for Windows 95 and NT is Kermit 95.  It was
  417. first released in October 1995 (after this message was posted).
  418.  
  419. -------------------------------------------------------------------------------
  420. 5 MY BACKSPACE KEY DOESN'T WORK!
  421.  
  422. From: fdc@columbia.edu (Frank da Cruz)
  423. Newsgroups: comp.protocols.kermit.misc
  424. Subject: Re: [?] Backspace key says, "^?"
  425. Date: 7 Jan 1995 21:26:44 GMT
  426. Organization: Columbia University
  427. Lines: 122
  428.  
  429. In article <D201pG.DMB@indirect.com>,
  430. Jim Monty <monty@indirect.com> wrote:
  431. > DISCLAIMER: I've looked for the answer to the following question in
  432. > _Using MS-DOS Kermit_ and in the documentation included with MS-DOS
  433. > Kermit 3.13.  I either couldn't find the answer or didn't understand
  434. > it if I did.
  435. >
  436.  
  437. Thank you for consulting the documentation.
  438.  
  439. > I'm using MS-DOS Kermit 3.13 on an i80386SX machine running MS-DOS
  440. > 6.0, using a 14,400 bps Zoom VFP V.32bis modem.  Kermit is set for
  441. > VT220 terminal emulation and is using the Latin1 character set and
  442. > code page CP437.  I've not mucked with much in the initialization
  443. > files, so you may assume that any other parameters are still set to
  444. > the "factory" defaults.
  445. >
  446. > Alas, the question: In some online environments, my backspace key
  447. > behaves as one would expect it to.  In others, hitting the backspace
  448. > key results in either (1) nothing happening, or (2) the characters
  449. > "^?"  appearing on the screen.
  450. >
  451. Or (3) the Backspace key acts like an Interrupt character on the host
  452. (this usually happens with System V based UNIXes).
  453.  
  454. > I can, however, use Ctrl-H in these
  455. > situations.  In these exact same online environments (e.g., vi
  456. > insert mode when connected to my dial-up UNIX shell account) under
  457. > analagous circumstances, the other terminal emulator that I use,
  458. > Telemate Version 3.12, does not behave this way.  The backspace key
  459. > functions as a destructive backspace.
  460. >
  461. > I presume that the change I need to make to my MS-DOS Kermit
  462. > configuration is a simple one, but I can't figure it out.  And I've
  463. > never really wanted to bother to spend a lot of time trying to
  464. > figure it out myself.  (I want the magic straight from the wizards'
  465. > minds.)  Thanks, in advance, for taking the time to help me.
  466. >
  467. > Jim Monty, Kermit Cheerleader at Arthur Andersen LLP
  468. >
  469.  
  470. Well, Jim, I think it's finally time to classify this as a Frequently Asked
  471. Question and add it to the FAQ (kermit.columbia.edu:kermit/FAQ.TXT).
  472.  
  473. As you have discovered, different hosts and applications use different
  474. characters (or sequences) for destructive backspace.  The terminal emulator,
  475. Kermit or otherwise (including Telemate -- if its backspace key works for you
  476. in all circumstances, I think that's just a stroke of luck), has no way of
  477. knowing what host or application you are using, and therefore no way of knowing
  478. what to send when you press the Backspace key.
  479.  
  480. Of course, Kermit's Backspace key must send *something* "out of the box", so it
  481. uses one of the several most likely destructive backspace values, and in fact
  482. the one that is defined in ASCII to be destructive backspace, namely Rubout,
  483. also known as Delete or DEL, character number 127, which sometimes is displayed
  484. as "^?".  Lest anyone believe this is a frivolous choice, I quote from American
  485. National Standard X3.4-1977, Section 5.1, Control Characters:
  486.  
  487.     0/8 BS (Backspace).  A one-active-position format effector that moves
  488.     the position backward on the same line.
  489.  
  490.     7/15 (DEL). A character used primarily to erase or obliterate an
  491.     erroneous or unwanted character...
  492.  
  493. In cases where the default does not work, Kermit lets you redefine the
  494. Backspace key (or any other key) to send whatever you want it to send (or to
  495. take any other actions) with the SET KEY command.
  496.  
  497. The SET KEY command has two operands: a unique identifier for a key or key
  498. combination, called a scan code, and the value or action to be assigned to the
  499. key.  Scan codes are written with a preceding backslash (\).  The scan code for
  500. the Backspace key is \270.  The default definition for this key is \127,
  501. meaning the character whose numeric value is 127, i.e. DEL.
  502.  
  503. You can find out a key's scan code by consulting Table I-9 in the manual (pages
  504. 285-288), or by giving the SHOW KEY command to Kermit and then pressing the
  505. desired key or key combination.
  506.  
  507. Now, as you have discovered, some applications use Ctrl-H -- ASCII BS
  508. (Backspace) -- for destructive backspace.  Consulting the ASCII table on page
  509. 275, you see that the ASCII code for BS is 8.  So to make PC's Backspace key
  510. send BS instead of DEL, give this command:
  511.  
  512.   SET KEY \270 \8
  513.  
  514. If you use Kermit only to connect to hosts and services that use BS for
  515. destructive backspace, then you can put this command in your MSCUSTOM.INI file,
  516. and it will take effect automatically every time you start Kermit.
  517.  
  518. But some people (like yourself) switch between different hosts and/or services
  519. that expect different characters or sequences for destructive backspace.  You
  520. can, of course, give Kermit the appropriate command every time you switch from
  521. one to another:
  522.  
  523.   SET KEY \270 \8    ; Backspace sends BS
  524.  
  525. or:
  526.  
  527.   SET KEY \270 \127  ; Backspace sends DEL
  528.  
  529. or you can use the macros that are already defined in MSKERMIT.INI for this.
  530. In version 3.14, for example, we have macros with names like VAX and IBM.  The
  531. VAX macro sets things up (including the Backspace key) for communicating with
  532. VAXes and VAX-like systems, and that means, among other things, setting the
  533. Backspace key to send DEL.  The IBM macro, on the other hand, is used for
  534. communicating with IBM mainframes in linemode, where BS is used.
  535.  
  536. You can use these macros as they are, or you can write your own macros based
  537. upon them and add them to your MSCUSTOM.INI file.  To use a macro, just type
  538. its name at the MS-Kermit> prompt.
  539.  
  540. Suppose, for example, you normally access two different systems: a BBS (which
  541. uses 8-bit characters, ANSI terminal emulation, and BS) and a UNIX system
  542. (which uses 7-bit characters, VT220 emulation, and DEL), and these items need
  543. to be changed when you switch between the two.  You could write two macros such
  544. as these:
  545.  
  546.   define bbs set term byte 8, set term type ANSI, set key \270 \8
  547.   define unix set term byte 7, set term type vt220, set key \270 \127
  548.  
  549. And then each time you want to use the BBS, you just type "bbs" at the
  550. MS-Kermit> prompt, and each time you want to access the UNIX system, you type
  551. "unix".
  552.  
  553. Of course, you could take this process even further, and turn the BBS and UNIX
  554. macros into complete connection-establishment and login scripts, following the
  555. directions in Chapter 14 of the manual, on script programming.
  556.  
  557. - Frank
  558.  
  559. -------------------------------------------------------------------------------
  560. 6 HOW DO I USE MS-DOS KERMIT OVER TRUMPET WINSOCK OR MS WfW TCP?
  561.  
  562. Date: Sun, 8 Jan 95 13:27 EST
  563. To: ....
  564. From: kermit@columbia.edu
  565. Subject: Re: Using Kermit with Trumpt Winsock
  566. > I have an internet connection (SLIP) using Trumpet Winsock to
  567. > establish the connection to the server under windows.  I'd like to
  568. > use kermit at that point to telnet to my company's computer.  I've
  569. > filled in the IP addresses in my custom file, but when I run kermit,
  570. > and try to telnet, I get the message:
  571. >
  572. >   Cannot attach to an Ethernet Packet Driver....
  573. >
  574. > Can you give me an idea of what I'm doing wrong?
  575. >
  576.  
  577. The rule for DOS, Windows, and similar PC operating systems is:
  578.  
  579.     ONE APPLICATION PER PROTOCOL PER NETWORK BOARD
  580.  
  581. This applies also to serial ports being used as if they were network boards,
  582. e.g. via SLIP.
  583.  
  584. If you are talking about Windows 95 or Windows NT, you can use Kermit 95, which
  585. does use Winsock -- any 32-bit Winsock stack (Microsoft, FTP Software, or
  586. Trumpet).
  587.  
  588. If you are talking about Windows 3.x, read on.
  589.  
  590. Now, Trumpet Winsock is using (i.e. registered for) the TCP protocol on your
  591. "network board".  Thus, when you try to activate Kermit's own built-in TCP/IP
  592. networking, it finds that it can't register TCP because TCP is already
  593. registered.  Thus it "Cannot attach to ... Packet Driver".
  594.  
  595. One might think it would be possible, then, to tell Kermit to "use" Winsock.
  596. But Winsock TCP/IP stacks are strictly for pure Windows (and NT) programs, not
  597. for DOS programs.  MS-DOS Kermit is a "Windows-aware" DOS program, but a DOS
  598. program nevertheless; it runs from the DOS prompt and within DOS emulator boxes
  599. in various operating systems, and cannot access Winsock.  If you want to make a
  600. TCP/IP connection with MS-DOS Kermit when Winsock is running, you have to
  601. unload Winsock and use Kermit's own built-in TCP/IP capability directly over an
  602. Ethernet- or SLIP-class packet driver or an ODI driver.  Or else install a
  603. second network adapter.  Or...
  604.  
  605. It is PERHAPS POSSIBLE, but not necessarily recommended, to run Kermit's TCP/IP
  606. stack alongside of Winsock using Dan Lanciani's NDIS3PKT shim, or to use the
  607. PKTMUX TCP/IP multiplexor.  Use these methods at your own risk.
  608.  
  609. NDIS3PKT, in Dan's words:
  610.  
  611. "Ndis3pkt is a Windows virtual device (VxD) that provides multiple emulated
  612. packet driver interfaces in Windows VMs and converts to NDIS3.  It knows how to
  613. route packets to the correct VM at upcall time (similar to the function of
  614. WINPKT) and it includes an optional tcp multiplexor to allow multiple tcp/ip
  615. stacks to coexist with the same IP address (similar to the function of PKTMUX).
  616. It can also support multiple boards, but that isn't a much-used feature.  It
  617. can also emulate a class 1 (Ethernet) packet driver on top of Token Ring.  In
  618. other words, ndis3pkt is intended to be a one-stop solution to packet driver
  619. applications over NDIS3.
  620.  
  621. "Now, when people talk about ``Winsock'' they often mean one of the Winsock
  622. providing packages that runs in the Windows system VM, e.g., Trumpet.  Because
  623. Trumpet Winsock is really just another packet driver application, ndi3pkt is
  624. perfectly happy to multiplex it along with any number of DOS applications.
  625. Thus, from a high-level viewpoint, users see this as sharing DOS applications
  626. with Winsock.  In reality, ndis3pkt knows nothing about Winsock, but the net
  627. effect is the same."
  628.  
  629. NDIS3PKT is in pub/ndis3pkt on newdev.harvard.edu, available by by anonymous
  630. ftp.  Be sure to read the license in the accompanying README file, and be sure
  631. you have a version dated 17 Mar 95 or later.
  632.  
  633. NOTE: As of January 1997, this location has moved to:
  634.  
  635. ftp://hsdndev.harvard.edu/pub/ndis3pkt
  636.  
  637. http://ndtl.harvard.edu/ndis3pkt/
  638.  
  639. (Later, August 1995, more from Dan):
  640.  
  641. "Some people have been able to run kermit & MSTCP32 w/WfWG 3.11 together using
  642. my ndis3pkt.386 driver.  The trick is to use different IP addresses for MSTCP32
  643. and kermit.  More generally, you need one IP address for MSTCP32 and one IP
  644. address for all your other packet-driver applications.  This is because,
  645. although ndis3pkt includes a tcp session multiplexor that allows multiple
  646. packet-driver-based tcp/ip stacks to share the same IP address on one machine,
  647. ndis3pkt has no control over the MSTCP32 stack.  If you try to use the same
  648. address for both, MSTCP32 will reset kermit's connections and such.
  649.  
  650. "Some people have been unable to get the MSTCP32+kermit+ndis3pkt combination to
  651. work in configurations that appear superficially identical to those which work
  652. elsewhere.  I suspect there is some minor detail of interest to be found here,
  653. but I don't know what it is. :)"
  654.  
  655. For additional details, see discussions in comp.protocols.tcp-ip.ibmpc and in
  656. the ndis3pkt documentation.
  657.  
  658. PKTMUX, also a risky proposition, is nevertheless, reportedly used with success
  659. at some sites.  As one user reports, "I would not dismiss the use of a packet
  660. driver, PKTMUX and as many PKTDRV stubs as you need.  We use that setup with
  661. TCP/IP Kermit, NCSA Telnet and winsock compliant apps.  If you also use QEMM,
  662. none of that takes ANY low memory and it is stable."
  663.  
  664. -------------------------------------------------------------------------------
  665. 7 HOW TO TRANSFER FILES THROUGH A 3270 PROTOCOL CONVERTER?
  666.  
  667. From: fdc@columbia.edu (Frank da Cruz)
  668. Newsgroups: comp.protocols.kermit.misc
  669. Subject: Re: Kermit File Transfer and tn3270
  670. Date: 16 Jan 1995 16:46:18 GMT
  671. Organization: Columbia University
  672. Lines: 169
  673.  
  674. In article <173276AEB.BDESIMON@uga.cc.uga.edu>,
  675. Bert DeSimone <BDESIMON@UGA.CC.UGA.EDU> wrote:
  676. > Gotta figure this has come up before.  We are evaluating a terminal
  677. > server that supports tn3270.  No problem using MS-Kermit to connect
  678. > to the terminal server and connect via tn3270 to an IBM mainframe.
  679. > However, file transfers (either invoking server on the mainframe or
  680. > not) always fail.  Connecting through this same terminal server to
  681. > the same mainframe through a 7171 presents *no* problem with file
  682. > transfer.  (BTW: I don't have to be using tn3270 on a terminal
  683. > server; file transfers with Kermit using tn3270 on a Unix host fail
  684. > the same way).
  685. >
  686. > I am speculating that the mainframe Kermit must send a transparent
  687. > mode sequence, ordinarily processed by the protocol converter, that
  688. > is causing the problem.
  689. >
  690.  
  691. One of the major strengths of the Kermit protocol is its ability to transfer
  692. files with IBM mainframes over a wide variety of connection types, and there is
  693. an excellent Kermit software program for the IBM mainframe, which is available
  694. for VM/CMS, MVS/TSO (and ROSCOE), CICS, and MUSIC.  The current version is
  695. 4.3.1, with version 4.3.2 in beta test.
  696.  
  697. All of the Kermit books and manuals ("Kermit, A File Transfer Protocol", "Using
  698. MS-DOS Kermit", "Using C-Kermit", and the IBM mainframe Kermit online manuals)
  699. describe the process(es) in some detail.  Here is a brief summary.
  700.  
  701. Half-duplex (local-echo), line-at-a-time connections are generally handled by
  702. the "ibm" macro that is built in to MS-DOS Kermit and C-Kermit, which performs
  703. the following protocol-related settings:
  704.  
  705.   set local-echo on
  706.   set parity mark
  707.   set flow none
  708.   set handshake xon
  709.  
  710. Full-screen sessions go through a 3270 terminal emulator.  This can reside
  711. anywhere between the client software (such as MS-DOS Kermit) and the mainframe.
  712. For the past 10 or 20 years, the most common place to find the 3270 emulator
  713. was on a special purpose "protocol converter": a box that has serial lines on
  714. one side and a connection to the mainframe on the other.  This box generally
  715. works by tricking the mainframe into thinking it is a "control unit" with
  716. multiple 3270 terminals attached, and at the same time tricking the terminals
  717. into thinking they are communicating with a "normal" ASCII character-at-a-time
  718. host.  The box converts between 3270 data streams and ASCII terminal (e.g.
  719. VT100) conventions.  This includes ASCII/EBCDIC character-set conversion,
  720. cursor positioning and screen painting, and keystroke interpretation.
  721.  
  722. As you can imagine, all of these conversions would normally have a disastrous
  723. effect on Kermit protocol packets, and also upon any other type of data that
  724. has to be transmitted "as is", without conversion, such as graphics terminal
  725. directives.  Thus, many protocol converters support a "transparent mode", that
  726. allows the mainframe host to command them to turn off their conversion
  727. functions, and at a later time, turn them back on.
  728.  
  729. When everything works as planned, the only Kermit commands required for going
  730. through the protocol converter are:
  731.  
  732.   set flow xon/xoff ; (usually)
  733.   set parity even   ; (or other)
  734.  
  735. Everything else corresponds to the normal Kermit defaults (remote echo, no
  736. "handshake", etc).
  737.  
  738. Unfortunately, the method for entering and leaving transparent mode differs
  739. from one 3270 emulation product to another.  Ideally, there are two components:
  740. (1) the identification phase, in which the mainframe software issues a special
  741. instruction that causes the protcol converter to respond in a unique (but
  742. harmless) way; and (2) the actual enter- and exit-transparent-mode directives.
  743.  
  744. IBM Mainframe Kermit needs to know which kind of transparency, if any, is used
  745. by the protocol converter so it can be put into transparent mode at the
  746. beginning of packet protocol and taken out of it upon return to interactive
  747. command mode.  There are several ways that mainframe Kermit can go about this.
  748. First, you can use the SET CONTROLLER command to tell it which style of
  749. transparency is used by the protocol converter.  Second, mainframe Kermit can
  750. be set up by the system administrator to always use a particular style.  Third,
  751. it can attempt to "autodiscover" the controller type by issuing various types
  752. of identification queries and checking the results.  The third method is not
  753. very reliable, however, since many types of protocol converters fail to respond
  754. to these queries even when they do implement a particular style of
  755. transparency.
  756.  
  757. Nowadays, special-purpose protocol converters are giving way to general purpose
  758. terminal and compute servers that include a "tn3270" function.  tn3270 is a
  759. special kind of TELNET program that also performs 3270 emulation, and requires
  760. that the mainframe be on a TCP/IP network and have a TN3270 server.  Here are
  761. some examples:
  762.  
  763.    1. UNIX tn3270.  Most UNIX systems come with a tn3270 program that lets
  764.       you make a full-screen connection to an IBM mainframe.  Once you
  765.       have made the connection, you should be able to start Kermit on the
  766.       mainframe, give it a SEND, RECEIVE, or SERVER command, escape back
  767.       to your terminal emulator (e.g. MS-DOS Kermit), and transfer files
  768.       without any special settings.  If you have trouble with this, then:
  769.  
  770.          - Ask mainframe Kermit to "show controller".  If it doesn't say
  771.            Series/1, then tell it to "set controller series1".
  772.  
  773.          - Try using shorter packets.  The maximum length that can pass
  774.            through the protocol converter might be less than what you are
  775.            trying to use.  A typical maximum value might be 1700.
  776.  
  777.          - Tell one or both Kermit programs to "set parity space".
  778.  
  779.    2. VMS tn3270.  Depends on the TCP/IP version.  TGV Multinet, for
  780.       example, does not claim to support transparent mode.
  781.  
  782.    3. Cisco terminal server tn3270.  Current releases of Cisco terminal
  783.       server software include a tn3270 feature that is supposed to permit
  784.       Kermit transfers, but it has bugs.  Sometimes these bugs can be
  785.       worked around by using the methods listed in (1) above and
  786.       specifying VERY short packets, like 30 or 40 bytes.  Sometimes they
  787.       can't be worked around at all.  A future release of Cisco software
  788.       (probably 10.3) will include new tn3270 software that implements
  789.       Series/1-style transparency correctly, and allows Kermit transfers
  790.       of both text and binary files in both directions using packet
  791.       lengths up to about 1900 (or whatever the total screen size is).
  792.  
  793. If you try all of these workarounds with your terminal server and still get
  794. failed transfers, make packet logs and/or debug logs in both Kermit programs to
  795. find out what the terminal server is delivering to each Kermit program, and
  796. report the misbehavior to your terminal server vendor.
  797.  
  798. For further information about specific protocol converters and how to configure
  799. IBM Mainframe Kermit for them, please read the ik0aaa.hlp file that comes with
  800. IBM Mainframe Kermit.
  801.  
  802. Finally, it is possible to transfer files through a 3270 fullscreen connection
  803. even when 3270 emulator can't be put into transparent mode at all.  You can
  804. read about this in the second edition of Using C-Kermit and the MS-DOS Kermit
  805. update notes file (KERMIT.UPD).  Quoting from the latter:
  806.  
  807. "Doomsday Kermit" (DDK) techniques allow file transfer with IBM mainframes
  808. through 3270 protocol converters that do NOT support transparent mode, to be
  809. used in conjunction with IBM Mainframe Kermit's SET CONTROLLER FULLSCREEN
  810. command on VM/CMS, MVS/TSO, or CICS.  MS-DOS Kermit 3.13 or later and IBM
  811. Mainframe Kermit 4.2.3 or later required.  Commands:
  812.  
  813.   SET PARITY EVEN        ; Or whatever
  814.   SET FLOW XON/XOFF      ; Or whatever
  815.   SET SEND START 62      ; Greater-than sign
  816.   SET RECEIVE START 62   ; Ditto
  817.   SET BLOCK BLANK-FREE-2 ; New block-check type
  818.   SET HANDSHAKE NONE
  819.  
  820. BLANK-FREE-2 is a new block-check type, exactly like type 2, except encoded to
  821. never contains blanks.  Give IBM Mainframe Kermit the following commands:
  822.  
  823.   SET CONTROLLER FULL
  824.   SET SEND START 62
  825.   SET RECEIVE START 62
  826.   SET BLOCK BLANK-FREE-2
  827.   SET HANDSHAKE 0
  828.  
  829. Doomsday Kermit file transfers are not as reliable as regular Kermit protocol
  830. transfers, and they are much slower.  Use this method only as a last resort;
  831. that is, only when you can't get a transparent-mode fullscreen connection or a
  832. linemode connection to the mainframe.
  833.  
  834. (end quote)
  835.  
  836. And beyond finally: in the future, we expect to add 3270 emulation to the
  837. Kermit software itself, so you will be able to make tn3270 connections directly
  838. from Kermit to the mainframe without having to go through a "black box" for the
  839. conversion.  Of course, Kermit software will handle transparency correctly (and
  840. automatically).  (And no, I can't estimate when built-in 3270 emulation will be
  841. available.)
  842.  
  843. - Frank
  844.  
  845. -------------------------------------------------------------------------------
  846. 8 WHERE IS THE KEY MAP FOR 3270 EMULATION?
  847.  
  848. Real 3270 terminals have all sorts of keys that regular ASCII terminals (and
  849. PCs and Macintoshes and UNIX workstations, etc) do not have.
  850.  
  851. A big part of the job of a 3270 protocol converter is to convert between ASCII
  852. keystrokes (including escape sequences) and 3270 keys such as PA1 through PA3
  853. and PF1 through PF24.
  854.  
  855. The administrator of the 3270 protocol converter creates the mapping.  So in
  856. order to make a 3270 key map for Kermit, you first have to find out what the
  857. mapping in the protocol converter is, and then assign the ASCII values
  858. (characters or sequences) that correspond to each 3270 key to the desired PC
  859. (or Mac, etc) key.
  860.  
  861. It is the responsibility of each site administrator to document the key
  862. mappings used by its protocol converters.  Once you know the ASCII values that
  863. correspond to each 3270 key, then it's easy to create Kermit key bindings.
  864.  
  865. For example, suppose the 3270 "cursor left" function (left arrow) is mapped to
  866. ASCII Ctrl-B (ASCII character 2).  Then in MS-DOS Kermit you would:
  867.  
  868.   SET KEY \4427 \2
  869.  
  870. where \4427 is the scan code of the PC's (gray) left arrow key, and \2 is the
  871. code for the ASCII value of the Ctrl-B character.
  872.  
  873. -------------------------------------------------------------------------------
  874. 9 HOW CAN I MAKE MS-DOS KERMIT USE COM3, COM4?
  875.  
  876. From: fdc@columbia.edu (Frank da Cruz)
  877. Newsgroups: comp.protocols.kermit.misc
  878. Subject: Re: COM3 available in 3.14?
  879. Date: 20 Jan 1995 15:48:20 GMT
  880. Organization: Columbia University
  881.  
  882. In article <1995Jan19.232004.8689@midway.uchicago.edu>,
  883. Cal Lott <cal@gsbux1.uchicago.edu> wrote:
  884. > I was simply wondering if version 3.14 (or any earlier) could
  885. > address COM3 and above.
  886. >
  887. A frequently asked question.  The short answer: Yes.
  888.  
  889. The medium answer: COM3 and above have no standard address or IRQ, hence
  890. communications software (Kermit or anything else) can't always find them, in
  891. which case you have to specify the address and IRQ, using a sequence like:
  892.  
  893.   SET COM3 \x3e8 5
  894.   SET PORT COM3
  895.  
  896. (You need both commands, in the order shown.)  You must also beware of
  897. "missing" COM ports.  To use (say) an internal modem as COM4 when there is no
  898. COM3 is not straightforward.
  899.  
  900. The long answer: Read section 6 of the KERMIT.BWR file on your MS-DOS Kermit
  901. 3.14 diskette (the version at kermit.columbia.edu in kermit/a, file mskerm.bwr,
  902. might be newer).
  903.  
  904. - Frank
  905.  
  906. -------------------------------------------------------------------------------
  907. 10 MS-DOS KERMIT PATCHES DON'T SEEM TO TAKE EFFECT.
  908.  
  909. Since the release of MS-DOS Kermit 3.14, there have been persistent reports
  910. that patches don't seem to "stick".  That is, after giving a PATCH command, the
  911. patch level is still reported as 0.  This can happen if the patch file is
  912. transferred to the PC from a UNIX system in binary mode, so the lines end with
  913. LF rather than CRLF -- DOS does not recognize the line boundaries and therefore
  914. Kermit does not see valid patches.  Cure: make sure each line ends with CRLF.
  915. Fix it in an editor, or re-transfer the file in text mode.
  916.  
  917. Also, remember there is no longer a need to rename the patch file to
  918. MSKERMIT.PCH.  Since there are now three different Kermit executables, there
  919. must be three corresponding patch files.  For version 3.14, these are:
  920.  
  921.   MSR314.PCH  -- For full-featured KERMIT.EXE
  922.   MSRM314.PCH -- For "medium-size" KERMITE.EXE
  923.   MSRL314.PCH -- For "Kermit Lite" KERLITE.EXE
  924.  
  925. Notice that each patch file includes the version number as part of its name.
  926. This allows you to run different versions of Kermit without confusion about
  927. patching.
  928.  
  929. -------------------------------------------------------------------------------
  930. 11 I CAN TRANSFER TEXT FILES BUT NOT BINARY FILES
  931.  
  932. Here are the causes (and cures) listed in decreasing order of likelihood:
  933.  
  934.    1. You are going through a terminal server or other type of connection
  935.       (telnet, rlogin, etc) that chops off the 8th bit.  Kermit can't tell
  936.       that this is happening (as it can with devices that add even, odd,
  937.       or mark parity), so you have to tell it.  The command is:
  938.  
  939.   SET PARITY SPACE
  940.  
  941.    2. You have used the SET CONTROL CONTROL UNPREFIX command to unprefix
  942.       one or more control characters that are not safe.  Tell Kermit to:
  943.  
  944.   SET CONTROL PREFIX ALL
  945.  
  946.       and see if it works.  If so, you'll have to home in on the
  947.       offender(s).
  948.  
  949. -------------------------------------------------------------------------------
  950. 12 BINARY FILES ARE CORRUPTED AFTER TRANSFER
  951.  
  952. Some non-Columbia Kermit implementations simply do not work, including some
  953. found in BBS software.  For example, if you download a file from a BBS using
  954. their Kermit protocol option and find a lot of Ctrl-Ys in your file where only
  955. actual letter Y's should be, then the BBS has a broken Kermit implementation.
  956. The same is also true if a file downloaded from a BBS in binary mode is bigger
  957. than the original.  Ask your BBS sysop to install MS-DOS Kermit ("Kermit Lite")
  958. as an external protocol.  See the KERMIT.UPD file in the MS-DOS Kermit 3.14
  959. distribution for additional information.
  960.  
  961. The more common cause, however, for "corrupted" binary files is that they were
  962. transfered in text mode.
  963.  
  964. Both Kermit and ftp transfer files in text mode by default.  This means that
  965. record formats and character sets are likely to be converted.  You can tell
  966. Kermit to skip all conversions and transfer the file literally, as-is, with the
  967. command:
  968.  
  969.   SET FILE TYPE BINARY
  970.  
  971. Normally, it is sufficient to give this command to the FILE SENDER before
  972. giving it the SEND command.  But there are some exceptions to this rule:
  973.  
  974.    1. One or both Kermits do not support "Attribute packets" (or they are
  975.       disabled).  This is true of many of the commercial and shareware
  976.       Kermit implementations.  Cure: tell BOTH Kermits to use binary mode.
  977.  
  978.    2. You are using some combination of C-Kermit 5A(190) or later, MS-DOS
  979.       Kermit 3.14 or later, or IBM Mainframe Kermit 4.3.1 or later in
  980.       client server mode.  In this case, it is the CLIENT's file type
  981.       setting, rather than the file sender's, that prevails.  Cure: tell
  982.       the CLIENT to SET FILE TYPE BINARY, or to be extra sure, tell them
  983.       both.
  984.  
  985.    3. You are sending the file from VMS C-Kermit, which is unique among
  986.       Kermit programs in its ability to automatically switch between text
  987.       and binary mode based on the file's characteristics.  VMS C-Kermit
  988.       ignores SET FILE TYPE BINARY and SET FILE TYPE TEXT when sending
  989.       files, and instead uses binary mode if the file's record format is
  990.       Fixed, and text mode otherwise.  However, some binary files, notably
  991.       VMS ZIP files, are stored using a "text-style" record format
  992.       (Stream_LF), so Kermit sends them in text mode.  You can override
  993.       this by telling it to SET FILE TYPE IMAGE.
  994.  
  995. If you follow all these directions and binary transfers still come out wrong,
  996. then perhaps the file you were downloading was corrupt to begin with -- e.g.
  997. it was ftp'd in text mode instead of binary mode.
  998.  
  999. -------------------------------------------------------------------------------
  1000. 13 WHY DOESN'T THE HANGUP COMMAND WORK FOR ME?
  1001.  
  1002. On network connections, Kermit's HANGUP command executes the appropriate
  1003. network protocol for closing the connection, and this should always work.
  1004.  
  1005. On serial connections, the HANGUP commands turns off the computer's DTR (Data
  1006. Terminal Ready) signal for a period of time.  According to the standard that
  1007. governs modem signals, this action is supposed to make a modem hang up the
  1008. phone call.  If it doesn't:
  1009.  
  1010.    1. Your modem has been configured to "Ignore DTR".  This setting is
  1011.       available on most Hayes-compatible modems, either on a physical
  1012.       switch (such as Configuration Switch 1 on the Hayes 1200) or as a
  1013.       command (&Dx on Hayes 2400 and later, and compatibles).  In many
  1014.       cases, "Ignore DTR" is the factory setting.  If you want your modem
  1015.       to obey the DTR signal, then you should set the switch
  1016.       appropriately, or give the command AT&D2.  The actual syntax of the
  1017.       command might vary among different brands and models of modems, so
  1018.       consult your modem manual for details.
  1019.  
  1020.    2. Your cable or connector has DTR "hotwired high", meaning that the
  1021.       DTR wire is jumpered to some other signal that is always high (on).
  1022.       If this is not what you desire, you should replace your cable with a
  1023.       standard modem cable.
  1024.  
  1025.    3. You are using a Macintosh with a "hardware handshaking cable".  This
  1026.       is actually the same situation as (2), except there is no way to
  1027.       "fix" the cable - please read the ckmker.bwr file for an
  1028.       explanation.
  1029.  
  1030. To work around these problems in Kermit, without actually fixing the underlying
  1031. cause, you can use a macro that escapes back to the modem's command processor
  1032. and gives it the command to hang up.  Such a macro is predefined for you in the
  1033. MS-DOS Kermit 3.14 initialization file, MSKERMIT.INI:
  1034.  
  1035.   ; ATHANGUP macro.  Use this if regular HANGUP command doesn't do the trick.
  1036.   def ATHANGUP sleep 1,out +++,sleep 1,out ath0\13
  1037.  
  1038. (Note: C-Kermit uses this technique anyway.)
  1039.  
  1040. In MS-DOS Kermit, you can assign execution of this macro to the "hot key" of
  1041. your choice, for example:
  1042.  
  1043.   set key \315 {\Kathangup}  ; Assign ATHANGUP macro to the F1 key
  1044.  
  1045. In Mac Kermit, you can just go to the terminal screen and do it by hand:
  1046.    - Pause at least one second
  1047.  
  1048.    - Type +++
  1049.  
  1050.    - Pause at least one second
  1051.  
  1052.    - Type ATH0 (letters A, T, H, digit zero)
  1053.  
  1054.    - Press the return key.
  1055.  
  1056. The modem should hang up and say NO CARRIER.
  1057.  
  1058. -------------------------------------------------------------------------------
  1059. 14 HOW CAN I MAKE THE DIAL/REDIAL COMMANDS KEEP TRYING?
  1060.  
  1061. In Kermit 95, just click on the appropriate boxes in the graphical Dialer
  1062. (Options -> Dialing -> Procedures), or use the following commands at the
  1063. command prompt:
  1064.  
  1065. K-95> set dial retries 30   (How many times to redial)
  1066. K-95> set dial interval 20  (How long to wait between tries)
  1067. K-95> dial 5551212
  1068.  
  1069. In C-Kermit 6.0, use the "set dial retries" and "set dial interval" commands
  1070. shown above.
  1071.  
  1072. In MS-DOS Kermit, the DIAL command is defined in the MSKERMIT.INI file, and it
  1073. does indeed retry the call several times.  REDIAL is also a macro, which simply
  1074. invokes the DIAL macro with the number most recently dialed; hence it, too,
  1075. tries the number several times.  If you want to change the number of times that
  1076. the DIAL macro tries, or the conditions under which it retries, or the interval
  1077. between tries, simply edit the DIAL macro definition in MSKERMIT.INI.
  1078.  
  1079. -------------------------------------------------------------------------------
  1080. 15 I ENABLED SLIDING WINDOWS BUT IT LOOKS LIKE ONLY ONE IS USED.
  1081.  
  1082. Newsgroups: comp.protocols.kermit.misc
  1083. Subject: Re: Sliding windows - only one is used?
  1084. Date: Wed Feb 15 09:21:08 1995
  1085. From: fdc@columbia.edu (Frank da Cruz)
  1086.  
  1087. In article <3hn07m$4dl@israel-info.datasrv.co.il>,
  1088. 4th Dimension <winter@zeus.datasrv.co.il> wrote:
  1089. > I'm using MS-Kermit 3.14, PL3 on my PC, talking to C-Kermit 5A(190)
  1090. > on the remote Sun.  When I start MSK, I load the FAST macro to get
  1091. > maximum thruput. Transfer of data is pretty fast, except that I
  1092. > never see more than one window used out of the three.  Is this a
  1093. > bug, a feature, or am I doing something wrong?
  1094. >
  1095.  
  1096. It's not a bug and you are probably not doing anything wrong.
  1097.  
  1098. When two Kermit programs have agreed to use a maximum window size greater than
  1099. one, let's say 4, here is what happens:
  1100.  
  1101. The FILE SENDER can send up to 4 packets without waiting for an acknowledgement
  1102. from the file receiver.  Each unacknowledged packet sits in the file sender's
  1103. window until it is acknowledged.  Thus its window size grows from 1 to 2 to 3
  1104. to 4.  If acknowledgments arrive quickly, the window might not grow to its
  1105. maximum size because it does not need to.
  1106.  
  1107. The job of the FILE RECEIVER is to accept and verify packets, decode them, and
  1108. write the decoded contents out to the file.  If packets arrive in sequence,
  1109. then each one is processed and disposed of as soon as it arrives.  If, however,
  1110. a packet arrives that has a sequence number that is more than one greater than
  1111. the previous packet that was successfully processed, this means that a packet
  1112. is missing.  Thus the packet that just arrived can't be written out to disk
  1113. because if it were, the file would have a piece missing.  So the
  1114. out-of-sequence packet is stored in the receiver's window until the missing
  1115. piece is filled in.
  1116.  
  1117. Thus you won't see the file receiver's window size exceed one unless there have
  1118. been transmission errors, no matter what window size the file sender might be
  1119. using.  For greater detail see pages 102-103 of "Using MS-DOS Kermit" or pages
  1120. 158-161 of "Using C-Kermit" (1st edition) or pages 256-260 of the second
  1121. edition.
  1122.  
  1123. - Frank
  1124.  
  1125. -------------------------------------------------------------------------------
  1126. 16 HOW DO I WRITE A SCRIPT TO DIAL A PAGER?
  1127.  
  1128. A numeric pager is one that can display a number -- usually the number to be
  1129. called back.  The number is entered by pressing Touch-Tone keys on your
  1130. telephone, usually terminated by pressing the "#" or "*" key.
  1131.  
  1132. Numeric pagers are not modems.  Therefore when you dial one, it does not return
  1133. a carrier signal.  Therefore, the dialing modem will not say "CONNECT" or turn
  1134. on its carrier signal.  Therefore, DIAL commands will not succeed.
  1135.  
  1136. You can type commands to your modem manually for testing.  For example:
  1137.  
  1138.   ATDT7654321,,,,,8765432#;
  1139.  
  1140. In this example we Tone-dial the phone number "7654321", then we pause for ten
  1141. seconds (",,,,,") to give the pager time to answer the call, then we send
  1142. "8765432" to be displayed on the pager, then we send the "#" tone, and then we
  1143. return to command mode (";").  The modem should respond "OK".  The details will
  1144. vary with your modem, your telephone service, and the pager you are dialing.
  1145.  
  1146. Let's assume we have a Hayes 2400 or higher compatible modem.  Here's a sample
  1147. command file to call a numeric pager:
  1148.  
  1149.   define \%a 7654321  ; Number to call
  1150.   define \%b 8765432  ; Number to display on pager
  1151.   set port xxxxxxx    ; Select the communication device
  1152.   set speed 2400      ; Any speed supported by the modem
  1153.   output AT\13        ; Make sure it's in command mode
  1154.   input 3 OK          ; ...
  1155.   if fail stop 1 Can't get your modem's attention
  1156.   output {ATDT\%a,,,,,\%b#;\13}  ; Make the call
  1157.   input 3 OK          ; ...
  1158.   if fail stop 1 Can't place call
  1159.  
  1160. You can turn this into a macro that accepts the numbers as arguments.  See
  1161. "Using MS-DOS Kermit" or "Using C-Kermit" for additional script programming
  1162. instructions, and your modem manual and the pager manual for details of calling
  1163. and paging.  Note: the OUTPUT string is enclosed in curly braces to force the
  1164. commas to be taken literally (if you were using this command in a macro
  1165. definition and did not enclose the OUTPUT string in braces, the commas would be
  1166. command separators).  Note #2 - Some modems might also support a "wait for
  1167. quiet answer" feature, e.g. by using the at-sign "@" in the dialing string:
  1168.  
  1169.   ATDT7654321@8765432#;
  1170.  
  1171. What about alphanumeric pagers?  You have to dial the paging service and then
  1172. either go through a series of prompts, or else execute a protocol like TAP.
  1173. C-Kermit 6.0 comes with a TAP paging procedure, ckepage.ksc.
  1174.  
  1175. You can also send an alpha page "by hand".  The manual method goes like this
  1176. (at least for paging services that use TAP "manual mode"):
  1177.  
  1178.    1. Set up the call.
  1179.  
  1180.    2. Make sure that DIAL succeeds (Alpha pagers, unlike numeric pagers,
  1181.       will send carrier back).
  1182.  
  1183.    3. Look for "ID=".
  1184.  
  1185.    4. Send uppercase "M" followed by carriage return.
  1186.  
  1187.    5. You are prompted for the destination pager ID.  Send it, followed by
  1188.       a carriage return.
  1189.  
  1190.    6. You are prompted for the text of the message.  Send the text.  It
  1191.       might be restricted to one line, and even if not, it might be
  1192.       restricted to a certain total length.
  1193.  
  1194.    7. You might be prompted in some way for more pages or lines; you can
  1195.       answer yes or no.
  1196.  
  1197.    8. Assuming you answer no, optionally look for the farewell message,
  1198.       then hang up.
  1199.  
  1200. The exact procedure and prompts vary according to the paging service, so you'll
  1201. need to go through the process manually to see exactly what the prompts and
  1202. sequences are.  Then you can write a Kermit script to send manual-mode
  1203. alphanumeric pages automatically.
  1204.  
  1205. -------------------------------------------------------------------------------
  1206. 17 WHEN C-KERMIT DIALS MY V.32BIS (OR V.34) MODEM, I GET THE ERROR 'CAN'T
  1207.    CHANGE SPEED TO 14400 (OR 28800)'
  1208.  
  1209. Dialing is covered in detail in Using C-Kermit, second edition, and the problem
  1210. listed in the title of this section should occur only rarely in C-Kermit 6.0
  1211. (it was quite common in earlier versions).
  1212.  
  1213. To recapitulate very briefly: older modems, like the Hayes 1200 and 2400, that
  1214. did not do error correction or compression, but that could negotiate their
  1215. modulation speed, would report the modulation speed upon successful connection,
  1216. and change their interface speed to match.  Thus, the communication software
  1217. would also have to change its own interface speed, or else the user would see
  1218. only garbage.
  1219.  
  1220. Modern modems have two different speeds: the interface speed and the modulation
  1221. speed.  The interface speed can be kept constant even though the modulation
  1222. speed changes.  Or not, depending on how the modem is configured.
  1223.  
  1224. C-Kermit versions prior to 6.0 had no way of knowing whether your modem is set
  1225. up to lock its interface speed, or to change it to match the modulation speed,
  1226. and therefore no way of knowing whether to believe the "CONNECT 28800" (or
  1227. whatever) message.  By default, for compatibility with the huge installed base
  1228. of older modems, it did believe, and therefore changed its interface speed
  1229. according to the CONNECT message.
  1230.  
  1231. But if your modem's interface speed is locked (which it SHOULD be if it is an
  1232. error-correcting, data-compressing modem), you must tell Kermit NOT to change
  1233. its interface speed by giving it the command:
  1234.  
  1235. SET DIAL SPEED-MATCHING OFF
  1236.  
  1237. Now to complicate matters, some of the newer modulations report speeds that are
  1238. not commonly supported by the host operating system, such as 14400 and 28800.
  1239. Hence the message "Can't change speed to 14400" (or 28800).  But even if these
  1240. speeds were supported, you would not want Kermit changing to them if the
  1241. modem's interface speed was locked.  You would still see only garbage, but you
  1242. would not get the "Can't change speed" message.
  1243.  
  1244. C-Kermit 6.0, by contrast, has a much more comprehensive modem database, and
  1245. automatically chooses the appropriate SPEED-MATCHING and other parameters when
  1246. you choose your modem type.  Therefore, when you choose a high-speed modem
  1247. type, one that is capable of speed buffering, C-Kermit automatically set DIAL
  1248. SPEED-MATCHING to OFF; whereas if you choose (say) the Hayes 2400 modem type,
  1249. it will set it ON.  You can override these automatic choices by giving explicit
  1250. SET MODEM and/or SET DIAL commands after your SET MODEM TYPE command.
  1251.  
  1252. See "Using C-Kermit" for additional detail.
  1253.  
  1254. -------------------------------------------------------------------------------
  1255. 18 HOW DO I USE KERMIT WITH PINE?
  1256.  
  1257. Here's a tip sheet we use at Columbia University - thanks to Joe Brennan.
  1258.  
  1259. SCREEN FORMATTING
  1260.  
  1261. Make sure that your UNIX terminal type agrees with Kermit's terminal emulation.
  1262. For example, if Kermit is emulating a VT320, tell UNIX:
  1263.  
  1264.   export TERM=vt320
  1265.  
  1266. or:
  1267.  
  1268.   setenv TERM vt320
  1269.  
  1270. If there is a complaint about "terminal type unknown" when starting Pine, then
  1271. try a lesser VT terminal model, such as VT220, VT102, VT100.
  1272.  
  1273. PRINTING
  1274.  
  1275. Pine's print command, letter Y, is known to work with MS-DOS Kermit and Mac
  1276. Kermit.  With MS-DOS Kermit, if the printer is directly attached, it should
  1277. make the printer print the selected email message.  With Mac Kermit, it should
  1278. send the selected email message into the printer buffer, which can be seen in
  1279. the Printer window, and which can be printed using the print command in the
  1280. pulldown File menu.
  1281.  
  1282. The command ''pcprint'' on UNIX (*), which prints any text file, does the same
  1283. thing as Pine's Print command.  It may be easier to debug problems by running a
  1284. command like ''pcprint .profile'' at the UNIX shell ($ prompt).
  1285.  
  1286. (*) pcprint is a UNIX shell script:
  1287.  
  1288. ---(cut here)---
  1289. echo -n '<ESC>[5i'
  1290. if [ $# -eq 0 ]; then
  1291.   cat
  1292. else
  1293.   cat $*
  1294. fi
  1295. echo -n '<ESC>[4i'
  1296. ---(cut here)---
  1297.  
  1298. (Replace <ESC> by a real Escape (ASCII 27) character.
  1299.  
  1300. DOWNLOADING FROM PINE TO THE PC
  1301.  
  1302. Use Pine's command letter E, Export, to copy a message into a file.  This file
  1303. will be created in your home directory on UNIX.  Then it can be downloaded to
  1304. your PC or Mac using Kermit.  After you finish, remember to remove the
  1305. now-unneeded file on UNIX, using the ''rm'' command at the $ prompt.
  1306.  
  1307. If you View a MIME-encoded message, Pine will ask whether to save it to a file
  1308. with a name of your choice.  Pine will decode the message and create the file
  1309. in your home directory on UNIX.  It can then be downloaded to your PC using
  1310. kermit.  MIME-encoded files are often binaries rather than plain text, so you
  1311. should set kermit to transfer a binary file.
  1312.  
  1313. UPLOADING FROM THE PC TO PINE
  1314.  
  1315. Send email in plain text if possible.  Save the document as plain ASCII text
  1316. with the PC application that created it.  Use Kermit to upload it to UNIX.  Run
  1317. Pine, choose letter C, Compose, and address your message as usual.  Move the
  1318. cursor to the Message Text area and choose control-R, Read File, and type the
  1319. name the file (the copy on UNIX) to insert.  You will see the file on screen,
  1320. as if you had typed it.  If it looks strange, it's not plain text, so start
  1321. over.  After you finish, remember to remove the now-unneeded file on UNIX,
  1322. using the ''rm'' command at the $ prompt.
  1323.  
  1324. If you want to send a PC document, use Kermit to upload it, setting Kermit to
  1325. transfer a binary file.  Run Pine, choose letter C, Compose, and at the
  1326. Attchmnt: header, type the name of the file (the copy on UNIX).  Pine will
  1327. encode it using MIME, and attach it to the end of any text you choose to type
  1328. in the message.  *Note*: with MIME or any form of encoding, you should
  1329. determine whether the recipient of your message will be able to decode it.
  1330. Plain text email (previous paragraph) can be read on any email system.
  1331.  
  1332. -------------------------------------------------------------------------------
  1333. 19 HOW DO I GET A SESSION LOG WITHOUT ALL THE EMBEDDED ESCAPE SEQUENCES?
  1334.  
  1335. This can be done in Kermit versions that have true terminal emulators, such as
  1336. MS-DOS Kermit and Kermit 95.
  1337.  
  1338. In MS-DOS Kermit:
  1339.  
  1340.    - Don't LOG SESSION.  Instead, SET PRINTER <filename>.
  1341.  
  1342.    - Use Ctrl-Print Screen to "toggle" logging.
  1343.  
  1344. In Kermit 95:
  1345.  
  1346.    - Don't LOG SESSION.  Instead, SET PRINTER <filename>.
  1347.  
  1348.    - Assign the Kverb \KprtAuto to the key of your choice, e.g.  "set key
  1349.      \315 \KprtAuto" to assign it to F1.
  1350.  
  1351.    - Use this key to toggle logging.
  1352.  
  1353. The resulting file will contain only screen lines, and not the escape sequences
  1354. that put them there.  The mechanism used internally is called "autoprint", and
  1355. works by sending each screen line to the printer or printer file when the
  1356. cursor leaves it.
  1357.  
  1358. In UNIX and OS-9 C-Kermit, you can "set session log text".  This does not
  1359. filter out escape sequences, but at least it takes care of CR/LF/CRLF
  1360. conversion for you; see the description of this command in "Using C-Kermit".
  1361.  
  1362. -------------------------------------------------------------------------------
  1363. 20 KERMIT DOESN'T WORK RIGHT WITH MY (RPI) ERROR-CORRECTING MODEM!
  1364.  
  1365. When you buy a modern error-correcting, data-compressing, speed-buffering
  1366. modem, you probably expect the modem to perform those functions, and most do.
  1367. Unfortunately, some modems that claim to have these features do not have them
  1368. at all, but require external software that implements them in your computer,
  1369. rather than in the modem where they belong.
  1370.  
  1371. The most widespread example of this practice is the Rockwell Protocol Interface
  1372. (RPI), a proprietary "standard" from Rockwell International Company that allows
  1373. modem companies to sell modems at a lower price by incorporating Rockwell chips
  1374. that do not include error-correction or compression capabilities.
  1375.  
  1376. This "standard" must be licensed from Rockwell, hence you will only find it
  1377. implemented in commercial software, such as on the diskette (if any) that came
  1378. with your modem.
  1379.  
  1380. In general, such software is available only for PCs running Microsoft Windows
  1381. 3.x or Windows 95, or built into proprietary communications packages like
  1382. Comit.
  1383.  
  1384. If your modem documentation says it requires "RPI-compatible" software for
  1385. error correction and compression, and you want to use it with Kermit, then you
  1386. are out of luck unless you also have the software driver for the modem and can
  1387. use it on your computer.  Otherwise you bought the wrong modem.  Hopefully, you
  1388. can return it.
  1389.  
  1390. It is usually hard to tell by reading the modem box.  One user reports: "The
  1391. RPI bit is hidden on the back of the box: '*Error Control* V.42 and MNP RPI
  1392. software,' and '*Data Compression* V.42bis RPI software.'  The box design is
  1393. such that, unless you happen to already know what RPI is, you think you're
  1394. getting a modem with MNP/V.42 LAPM/V.42bis compression built in."
  1395.  
  1396. If you can't return the modem, you can still use it without error correction,
  1397. but then:
  1398.  
  1399.    - Noise is not filtered out on the modem-to-modem connection, as it
  1400.      would be with a real error-correcting modem, and noise bursts will
  1401.      interfere with your online sessions and your file transfers.
  1402.  
  1403.    - There is no modem-to-modem compression, because that requires error
  1404.      correction.
  1405.  
  1406.    - There is no flow control, because that too requires an
  1407.      error-correction protocol between the modems.
  1408.  
  1409.    - Speed buffering is ineffective because that requires flow control
  1410.      between the modems.  Thus, if the two modems have different interface
  1411.      speeds, vast amounts of data will be lost.
  1412.  
  1413. Thus, none of the modem's "advanced features" are really there.
  1414.  
  1415. Why RPI is a bad idea:
  1416.  
  1417.    - Implementation of MNP, V.42, and V.42bis in software is a VERY big
  1418.      job.  Since it is uneconomical for software companies to write
  1419.      software for any platform other than Microsoft Windows, it is
  1420.      unlikely that RPI drivers will ever be written for DOS, UNIX, OS/2,
  1421.      VMS, or any other platform.
  1422.  
  1423.    - Even when a company wants to produce a driver for (say) a new release
  1424.      of Windows, there is generally a long lag time before it is
  1425.      available.  Thus you might find when you install your brand-new
  1426.      operating system that your modem has become useless.  (NOTE: Windows
  1427.      95 will change its driver specifications soon, probably in mid-1997,
  1428.      at which time all existing "WinRPI" drivers -- as well as drivers for
  1429.      the other types of controllerless modems -- will stop working.)
  1430.  
  1431.    - The driver software slows down your computer by consuming a vast
  1432.      amount of CPU cycles over and above what would be used if
  1433.      error-correction and compression were done in the modem, and it
  1434.      increases memory requirements, swapping, and in general can be
  1435.      expected to drag down the performance of your PC.
  1436.  
  1437.    - RPI seeks to replace an open communication method (the one that is
  1438.      universally used by serial communication software) by a closed,
  1439.      proprietary, licensed one, and potentially hold hostage all
  1440.      communications software developers to nondisclosure agreements.
  1441.  
  1442.    - It precludes publication of source code.
  1443.  
  1444.    - Since MNP 2-5 and V.42 and V.42bis are complex protocols, the
  1445.      software implementations will inevitably be buggy and are unlikely to
  1446.      be consistent, especially since the "standard" is not an open one,
  1447.      and the implementations themselves will not be open.
  1448.  
  1449.    - Even if the drivers are not buggy, the underlying operating system is
  1450.      likely to be.
  1451.    - Since not all software in the world will be "upgraded" to "support"
  1452.      the RPI "standard", your modem will not be usable in many of the ways
  1453.      you might have expected to use it.
  1454.  
  1455.    - Many people will buy these modems under the mistaken impression that
  1456.      they can use their high speeds and advanced features with their
  1457.      favorite software.  The average mass-market consumer is unlikely to
  1458.      understand the implications of "requires RPI-compliant software" in
  1459.      tiny print on the box.
  1460.  
  1461.    - By Gresham's Law, "The bad drives out the good".  RPI modems are
  1462.      cheaper, and might well drive reputable modems out of the
  1463.      marketplace, leaving the entire world's online community with no
  1464.      modems left to choose from but ones that will work only with Windows.
  1465.      This drives another nail into the coffin of "legacy" non-Windows
  1466.      platforms, and this, in turn, leaves the public with fewer choices
  1467.      for operating systems, applications, and computers themselves.
  1468.  
  1469. What are the benefits of RPI?
  1470.  
  1471.    - Lower-cost modems?  In order to save a few dollars, you are giving up
  1472.      the ability to use the modem on the platform of your choice, with the
  1473.      software of your choice, and you are probably going to get poorer
  1474.      performance than you would have had with the EC and DC protocols
  1475.      built-in over the life of the modem.
  1476.  
  1477. How do I tell if I have an RPI modem?
  1478.  
  1479.    - According to Rockwell, all RPI modems should issue a message
  1480.      containing "RPI" in response to the command ATI3.  Here are some
  1481.      examples:
  1482.  
  1483. AFEP-V1.510-BP39 ROCKWELL RPI (TM) MODEM
  1484. AFEP-V1.620z1.00 BS39 ROCKWELL RPI (TM) MODEM
  1485. V1.620-BP39 ROCKWELL RPI (TM) MODEM
  1486.  
  1487.    - The command to enable error correction (such as AT&Q5, depends on the
  1488.      modem) results in an ERROR response.
  1489.  
  1490.    - They normally have AT+Hdigit commands to control the RPI interface.
  1491.      (This one is not dependable, since there are no standards for modem
  1492.      commands, and so AT+H might be used on non-RPI modems for some
  1493.      entirely unrelated purpose.)
  1494.  
  1495. Is there a list of RPI modems?
  1496.  
  1497.    - No.  Just about any modem manufacturer is likely to have RPI models.
  1498.      The modem market is incredibly volatile, fast-moving, and voracious.
  1499.      Any such list would be obsolete before you could see it.
  1500.      Once-scrupulous companies will now do anything to cut costs and
  1501.      increase margins.  They have no choice -- if your competitors are
  1502.      doing it, you have to do it too or lose your business.  Rockwell
  1503.      licenses RPI "technology" to anyone who will pay for it, but is under
  1504.      no obligation to disclose its licensees, nor are the licensees under
  1505.      any obligation to inform Rockwell (or anybody else) which models
  1506.      contain RPI chips and which do not.  In many cases, the same make and
  1507.      model can have RPI and non-RPI variations.  This makes technical
  1508.      support an increasingly difficult job.  By saving a small amount of
  1509.      money for themselves, the modem manufacturers have created unneeded
  1510.      confusion among users and service providers, and driven up costs
  1511.      throughout the online world.
  1512.  
  1513. Is RPI the only "software driven" modem scheme?
  1514.  
  1515.    - No.  There are similar products from other companies.  This further
  1516.      complicates the task of the help desks of the world, for even once
  1517.      they have ruled out that a modem problem is due to RPI, it might be
  1518.      some other kind of "controllerless" modem based, for example, on the
  1519.      HSM chipset from AT&T (now Lucent).  US Robotics now sells a
  1520.      "Winmodem" (see next question).  We can only expect to see more and
  1521.      more of this in the future.  As a maker of such items commented in
  1522.      the comp.dcom.modems newsgroup, "There's certainly a market for
  1523.      platform-independent modems, but you can't expect manufacturers to
  1524.      ignore the market opportunity for Windows-only modems, especially
  1525.      when they can have a cost and performance advantage."
  1526.  
  1527. Of course you can't.  But what about end users who don't understand any of
  1528. this?  Most of them do not make informed choices when buying modems.  And
  1529. increasingly, many of them make no choice at all -- the modem comes
  1530. preinstalled in a PC they have bought, and does not even include a manual;
  1531. sometimes not even a brand name.  And now that RPI modems have been out for a
  1532. while, we are beginning to see how they are passed from hand to hand, installed
  1533. in or connected to new computers (for use, e.g., with DOS or Linux) and causing
  1534. a whole new wave of problems.
  1535.  
  1536. If you have an RPI or other controllerless modem, and you need to use it in a
  1537. setting for which a driver is not available -- that is, in most cases, any
  1538. platform other than a PC running Microsoft Windows -- you are just plain out of
  1539. luck.  Return it and buy a real modem.  This way, you will encourage modem
  1540. manufacturers to continue to make real "platform-independent" modems.
  1541.  
  1542. To re-emphasize one of the worst aspects of these modems, here is independent
  1543. commentary from the comp.dcom.modems newsgroup, 14 Nov 96:
  1544.  
  1545. "If you don't plan to run [Windows 95], or more precisely, if you don't want to
  1546. run just versions of Windows '95 released between the initial launch and next
  1547. summer, then this modem may not be usable at all.
  1548.  
  1549. "Microsoft plans to change the driver interface in the near future and you will
  1550. need to get new drivers from somebody.  This isn't a secret or anything; it's
  1551. part of the gradual merging of '95 and NT and they want a common driver for
  1552. both starting real soon.  When this happens and you want to upgrade your OS,
  1553. you have to hope that your vendor will continue to support the model of modem
  1554. you bought and release new drivers.  Those of you who get one of these modems
  1555. in a PC will have to fight with the PC maker and the modem maker when you try
  1556. to change (or upgrade) the OS on your PC.
  1557.  
  1558. "If your vendor makes new drivers available for the operating systems you want
  1559. to use for older models of their modems, you have no problem.  If they won't
  1560. support last years modems at all, then you have a problem.
  1561.  
  1562. "Yet another reason to not buy modems with detached brains.
  1563.  
  1564. "It's like the Monty Python "New Brain" sketch.  You really should pay the
  1565. extra $30 for a whole real brain in your modem.  :-)"
  1566.  
  1567. (End quote)
  1568.  
  1569. -------------------------------------------------------------------------------
  1570. 21 WHAT ABOUT WINMODEMS?
  1571.  
  1572. Refer to the previous section.  Note, however, that Winmodems are even more
  1573. Windows-dependent than RPI modems, as they rely on the Windows drivers not only
  1574. for error correction and data compression, but for all of their modem
  1575. functions.  Thus they are totally useless outside of Windows 3.1 or Windows 95,
  1576. and even under those operating systems, they can be used only by native Windows
  1577. applications, and not by DOS applications -- not even when they are running in
  1578. a Windows window.  To quote from a posting to comp.dcom.modems from August 7,
  1579. 1996:
  1580.  
  1581. "While the Winmodem does have some advantages over modems, this device and
  1582. others like it are generally inferior to a real and true modem.  The Winmodem
  1583. isn't really a modem, it's just a DSP and a few other componants on a card.  It
  1584. doesn't become a modem until you load up the Windows drivers for it.  First off
  1585. this means that you're totally and completely stuck with Windows software.  No
  1586. support for DOS in any way (not even through a DOS session in Windows), OS/2,
  1587. Linux, or even WinNT.  Furthermore it uses your computer CPU for some tasks
  1588. normally handled by a processor in the modem.  This drains some CPU power and
  1589. memory from your computer, which can slow applications down (although just how
  1590. much it'll slow things down depends on a number of factors)."
  1591.  
  1592. Thus you can not use MS-DOS Kermit with a Winmodem.  You can, however, use
  1593. Kermit 95 in Windows 95 (not Windows NT) with a Winmodem; in this case you can
  1594. treat it as a Sportster.
  1595.  
  1596. -------------------------------------------------------------------------------
  1597. 22 WHAT KIND OF MODEM SHOULD I BUY?
  1598.  
  1599. Refer to the previous two sections.
  1600.  
  1601. We have always recommended external modems.  In the past, the principle reasons
  1602. for this were that:
  1603.  
  1604.    - They can be connected to any kind of computer that has a serial port.
  1605.  
  1606.    - You can monitor the lights for troubleshooting.
  1607.  
  1608.    - They don't cause interrupt conflicts or address confusion, as
  1609.      internal modems almost always do.
  1610.  
  1611. In recent times, the reasons to stick with external modems are all the more
  1612. compelling:
  1613.  
  1614.    - Almost any recent-model modem is bound to have bugs and defects.
  1615.      Therefore it is better to keep them outside of your PC, where they
  1616.      can't affect the internal bus, configuration, or interrupt structure
  1617.      of your computer.
  1618.  
  1619.    - External modems are almost never "controllerless".  To the best of
  1620.      our knowledge, all RPI modems, Winmodems, etc, are internal PC
  1621.      modems.
  1622.  
  1623.    - External modems are never "Plug and Play".  Plug and Play modems, to
  1624.      the best of our knowledge, work only in Windows 95, and need special
  1625.      OS-specific loaders to be initialized correctly.  They can't be used
  1626.      with DOS applications, even in a Windows 95 DOS window.
  1627.  
  1628. We do not recommend or endorse any particular brand of modem.  However, we do
  1629. recommend the following attributes:
  1630.  
  1631.    - It should be external rather than internal.  The extra price is worth
  1632.      it.
  1633.  
  1634.    - It should follow established ITU-T (formerly CCITT) standards like
  1635.      V.32bis, V.34, V.42, and V.42bis.  If it claims to "exceed" standards
  1636.      or "set" standards, beware; it is unlikely to interoperate correctly,
  1637.      or at all, with modems from other manufacturers.
  1638.  
  1639.    - It must not depend on operating-system-specific drivers or loaders
  1640.      for any of its modulation, error-correction, or compression
  1641.      functions.  The operating system should be able to make full use of
  1642.      it through its serial-port driver, with the application providing the
  1643.      interface to the modem's command language.  Thus you should be able
  1644.      to change or upgrade operating systems without losing the ability to
  1645.      use your modem.
  1646.  
  1647. Read the box carefully before buying.
  1648.  
  1649. -------------------------------------------------------------------------------
  1650. 23 MY ARROW KEYS DON'T WORK
  1651.  
  1652. Newsgroups: comp.protocols.kermit.misc
  1653. Date: Mon Apr 24 10:24:29 1995
  1654. From: Frank da Cruz <fdc@columbia.edu>
  1655. Subject: Re: arrow keys and www?
  1656. Organization: Columbia University
  1657.  
  1658. In article <3n2s56$rb4@news-2.csn.net>,
  1659. Gideon Weisz <gweisz@csn.net> wrote:
  1660. >
  1661. > This has to be a very simple problem, so apologies in advance, but I
  1662. > am stuck.  In www, using lynx, with mskermit 3.14 and vt220 (and
  1663. > HEBREW macro) the arrow keys do not work right.  To move among
  1664. > highlighted links, one is supposed to use the up/down arrows and to
  1665. > move among levels the left/right keys.  However, if I use
  1666. > right-arrow, I get "do you wish to send a comment"; if I use
  1667. > left-arrow it is taken as a command to download down-arrow moves me
  1668. > up! (up the screen to the last highlight).
  1669. >
  1670.  
  1671. Kermit is emulating a real VT220 terminal.
  1672.  
  1673. The VT220 cursor (arrow) keypad can be in one of two modes: cursor mode and
  1674. application mode.  These keys send different escape sequences depending on
  1675. which mode they are in.  When a VT220 is turned on (and when Kermit is
  1676. started), the arrow keys are in cursor mode.
  1677.  
  1678. By default (that is, unless you give SET KEY commands to change things), MS-DOS
  1679. Kermit uses the IBM keyboard arrow keys as the VT220 arrow keys.  Each key has
  1680. a "verb" assigned to it:
  1681.  
  1682.   Up arrow      \Kuparr
  1683.   Down arrow    \Kdnarr
  1684.   Right arrow   \Krtarr
  1685.   Left arrow    \Klfarr
  1686.  
  1687. These verbs track the cursor keypad mode automatically, and send the following
  1688. escape sequences:
  1689.  
  1690.                Cursor Mode   Application Mode
  1691.  
  1692.   \Kuparr        CSI A           SS3 A
  1693.   \Kdnarr        CSI B           SS3 B
  1694.   \Krtarr        CSI C           SS3 C
  1695.   \Klfarr        CSI D           SS3 D
  1696.  
  1697. where CSI is ESC followed by left bracket ([) on a 7-bit connection or decimal
  1698. 155 on an 8-bit connection, and SS3 is ESC followed by O (uppercase letter O)
  1699. on a 7-bit connection and decimal 143 on an 8-bit connection.
  1700.  
  1701. How does the cursor keypad mode change?  The host can change it by sending
  1702. special escape sequences, or you can change it yourself by using the command:
  1703.  
  1704.   SET TERMINAL ARROW-KEYS { CURSOR, APPLICATION }
  1705.  
  1706. So why do the arrow keys not work in Lynx?  Or, in general, in any particular
  1707. application:
  1708.  
  1709.    1. Because the application expects the keypad to be in one mode when it
  1710.       is in the other mode.  This is a deficiency on the part of the
  1711.       application.  Applications should never ASSUME which mode the cursor
  1712.       keypad is in, but rather, they should PUT the keypad in the desired
  1713.       mode, or else they should accept arrow-key codes from either mode.
  1714.       Workaround: tell Kermit to SET TERM ARROW CURSOR (or APPLICATION).
  1715.  
  1716.    2. Because of a terminal-type mismatch.  Lynx, in particular, does not
  1717.       seem to use the termcap database (it uses only terminfo), and so
  1718.       therefore might not understand Kermit's VT220 or VT320 terminal type
  1719.       (this kind of confusion typically occurs when a terminal type is in
  1720.       the termcap database but not the terminfo one, and therefore works
  1721.       with EMACS or vi, but not with Lynx).  Solution: tell Kermit to SET
  1722.       TERM TYPE VT100 and also tell the host your terminal type is VT100,
  1723.       before starting Lynx, and ask you system administrator to add
  1724.       missing terminfo entries.
  1725.  
  1726.    3. Because of a character-size mismatch.  If you have been using a
  1727.       VMS-based VT220 or VT320 fullscreen application (such as ALEPH, EVE,
  1728.       etc), you might find that your arrow keys are sending 8-bit codes
  1729.       rather than 7-bit codes, and then when switching to another
  1730.       application like Lynx, the new application might not understand the
  1731.       8-bit codes.  Again, this is a deficiency of the application.
  1732.       Workaround: tell Kermit to SET TERM CONTROLS 7.
  1733.  
  1734. I put MS-DOS Kermit into Hebrew mode, accessed the ALEPH software, tried the
  1735. arrow keys and they worked OK.  Then I left ALEPH and started Lynx and got the
  1736. same symptoms you reported.  The three steps above fixed the problem.
  1737.  
  1738. - Frank
  1739.  
  1740. -------------------------------------------------------------------------------
  1741. 24 KERMIT UNDER WINDOWS CAN'T FIND MY PORT
  1742.  
  1743. Q: We use Kermit 3.14 very heavily on our campus. From DOS everything works
  1744. great. From MS-Windows, however, sometimes it works but often our users will
  1745. get a message like:
  1746.  
  1747.   unknown hardware for port, using BIOS...
  1748.  
  1749. or:
  1750.  
  1751.   cannot use RTS/CTS on non-UART port
  1752.  
  1753. A: First, let's assume that your COM port is not, in fact, an internal
  1754. "controllerless" modem, such as a Winmodem or RPI modem -- you can't use these
  1755. with MS-DOS Kermit or, for that matter, with any non-Windows application or in
  1756. any operating system other than Microsoft Windows.  See the section on RPI
  1757. modems for more information about this.
  1758.  
  1759. Windows and/or Windows communications programs tamper with the PC BIOS, where
  1760. Kermit goes to find out what ports are available and what their addresses (and
  1761. IRQs) are.  The solution to this problem is to supply this information to
  1762. Kermit yourself.
  1763.  
  1764. Here is a macro you can use to set your port under Windows.  MS-DOS Kermit 3.14
  1765. is required.
  1766.  
  1767.   define PORT -
  1768.     if not = \v(argc) 2 end 1 Port number required, -
  1769.     if not = 0 \findex(:\%1:,:1:2:3:4:) forward PORT\%1, -
  1770.     end 1 \%1 - bad port number, -
  1771.     :PORT1, set com1 \x03f8 4, set port 1, end \v(status), -
  1772.     :PORT2, set com2 \x02f8 3, set port 2, end \v(status), -
  1773.     :PORT3, set com3 \x03e8 4, set port 3, end \v(status), -
  1774.     :PORT4, set com4 \x02e8 3, set port 4, end \v(status)
  1775.  
  1776. Put this macro definition in your MSCUSTOM.INI file and then just tell Kermit
  1777. "port 1", "port 2", "port 3", or "port 4" instead of "set port 1", etc, and
  1778. everything should work as expected.
  1779.  
  1780. IMPORTANT: The addresses and IRQs are the most common ones, but they are not
  1781. going to work on every machine.  PS/2s have different addresses and IRQs for
  1782. COM3 and COM4.  Many add-on cards -- especially internal modems -- might use
  1783. different IRQs altogether, like 5.  Again, see KERMIT.BWR for the gruesome
  1784. details.
  1785.  
  1786. Another user found that the following PORT macro also worked satisfactorily:
  1787.  
  1788.   define PORT -
  1789.     if not = \v(argc) 2 end 1 Port number required, -
  1790.     if not = 0 \findex(:\%1:,:1:2:3:4:) forward PORT\%1, -
  1791.     end 1 \%1 - bad port number, -
  1792.     :PORT1, run {MODE COM1:19,N,8,1}, set port 1, end \v(status), -
  1793.     :PORT2, run {MODE COM2:19,N,8,1}, set port 2, end \v(status), -
  1794.     :PORT3, run {MODE COM3:19,N,8,1}, set port 3, end \v(status), -
  1795.     :PORT4, run {MODE COM4:19,N,8,1}, set port 4, end \v(status)
  1796.  
  1797. -------------------------------------------------------------------------------
  1798. 25 IF I HAVE AN ERROR CORRECTING MODEM WHY DO I NEED KERMIT PROTOCOL?
  1799.  
  1800. "If modern modems are capable of hardware error correction and compression,
  1801. isn't it redundant and inefficient to continue to use file-transfer protocols
  1802. like Kermit and ZMODEM that provide the same services?"
  1803.  
  1804. This is a common misconception, and, unfortunately, one that is promoted by
  1805. many of the modem makers themselves (e.g. when you read about protocols in the
  1806. modem manuals).  The modem makers (some of them) might excel at what they do,
  1807. but they are generally not experts on computers and software.  For example, the
  1808. following appears in a current modem manual:
  1809.  
  1810.     Generally, the most efficient file-transfer operations are achieved
  1811.     when the EC modem does the error checking in hardware, and the
  1812.     file-transfer protocol does not duplicate this effort. The YMODEM-G
  1813.     file-transfer protocol provides this level of service. This protocol
  1814.     was written for use with high-speed, error-control modems. This
  1815.     protocol does not provide any error-detection or recovery capability.
  1816.  
  1817. But it is not true that protocols like YMODEM-g (or, as is often suggested by
  1818. newcomers to modem communication, no protocol at all) are the best to use with
  1819. error-correcting modems.
  1820.  
  1821. That's because errors can also occur (and often do) outside the modem-to-modem
  1822. connection.  The most common causes are lack of sufficiently effective DCE/DTE
  1823. flow control and resulting buffer overflows in the receiver; unbuffered UARTs
  1824. that can't be serviced fast enough by a busy or slow CPU; interrupt conflicts
  1825. (including characters lost due to having interrupts turned off by other
  1826. drivers, e.g. disk-caching programs), and on and on -- things that are beyond
  1827. the modem's control.
  1828.  
  1829. Second, you don't always know that your error-correcting modem will make a
  1830. successful MNP or V.42 connection with the other modem.  The two modems might
  1831. have mismatched capabilities or there might be a "failure to negotiate" the
  1832. capabilities they do have.  Would you want to use different file transfer
  1833. methods depending on the type of connection negotiated by the modems?  Not a
  1834. good use of your time.
  1835.  
  1836. Third, the communication channel outside the modems might not be fully
  1837. transparent.  For example, it might chop off the 8th bit of each byte, or it
  1838. might filter out certain characters, or use them for special purposes rather
  1839. than treating them as data.  This is common with terminal servers and other
  1840. types of communications front ends.
  1841.  
  1842. Fast protocols like Zmodem and modern Kermit impose little additional overhead,
  1843. and that small amount of overhead is well worth the savings in failed
  1844. transfers, which are inevitable when using non-recovering methods in situations
  1845. like the ones described above.
  1846.  
  1847. But even more fundamentally: you can't know in advance that there will be no
  1848. errors.  So using a file transfer procedure without error recovery is silly,
  1849. because if there are errors, you'll have to start all over again.  It's like
  1850. not buying fire insurance for your house because you think it is fireproof.
  1851.  
  1852. Finally, what happens when the connection is broken?  Say, after transferring
  1853. 99 megabytes of a 100-megabyte file?  Error-correcting modems can't stop wires
  1854. from being cut or pulled out, nor can they prevent power failures or keep
  1855. computers or applications from crashing.  So again, you need a good error
  1856. recovery protocol.  Both Zmodem and Kermit can pick an interrupted transfer up
  1857. from the point of failure.
  1858.  
  1859. -------------------------------------------------------------------------------
  1860. 26 HOW DO I USE 'SET KEY' WITH PC F-KEYS, ETC, IN UNIX OR VMS C-KERMIT?
  1861.  
  1862. The C-Kermit versions for UNIX, VMS, and so on, that do not have direct access
  1863. to the keyboard and screen, and rely on your console driver, terminal window,
  1864. external terminal emulator (such as MS-DOS Kermit), or actual terminal to
  1865. perform the terminal functions.
  1866.  
  1867. UNIX is an interesting case.  Traditionally, UNIX was accessed through a
  1868. terminal that was plugged into a terminal port on a timesharing system.  Thus,
  1869. there is no keyboard and screen -- just a communication port.  In recent years,
  1870. this type of access has been largely replaced by terminal servers, but there is
  1871. still no keyboard and screen.  However, now that we have a plethora of PC-based
  1872. UNIX varieties that run on workstations (PCs) that actually do have a keyboard
  1873. and screen, it would seem to make sense that Kermit should be able to see all
  1874. the keys.
  1875.  
  1876. Unfortunately, this is not the case.  Most varieties of UNIX do not let the
  1877. application see the keyboard.  There is no kernel function called "get keyboard
  1878. scan code".  There is only read(), and read() reads a character, not a
  1879. multibyte scan code.  Thus, even if your console driver has programmed (say)
  1880. your F1 key to send (say) ESC O P, Kermit will read three characters in
  1881. succession, as if they were three keystrokes, not one.  It has no way of
  1882. knowing that you pressed the F1 key.  As far Kermit knows, you pressed the Esc
  1883. key, then the O key, then the P key.
  1884.  
  1885. Now perhaps Linux *does* have a system call to let an application at the
  1886. keyboard.  But...
  1887.  
  1888.    - In what contexts does it work?  Only on the raw console?  In an xterm
  1889.      window?  etc etc.
  1890.  
  1891.    - Does it require special privilege to execute?
  1892.  
  1893.    - What about all the other versions of UNIX that run on PCs -- FreeBSD,
  1894.      SCO, Solaris/Intel, etc etc?
  1895.  
  1896.    - What about all the other versions of UNIX that run on non-PC
  1897.      workstations -- SunOS, Solaris/Sparc, HP-UX, AIX, SGI, etc?
  1898.  
  1899. So the answer is, for now at least -- and as the documentation states --
  1900. C-Kermit's SET KEY command in UNIX (and VMS, AOS/VS, VOS, etc) works only for
  1901. keys that generate a single 8-bit value, 0..255.  Other types of mappings will
  1902. have to be accomplished outside of Kermit by configuring your console driver,
  1903. your xterm (e.g. with Xmodmap), and so on.
  1904.  
  1905. -------------------------------------------------------------------------------
  1906. 27 HOW CAN I EXIT FROM C-KERMIT WITHOUT HANGING UP?
  1907.  
  1908. Many people want to be able to make a dialout connection with UNIX C-Kermit,
  1909. but then use some other software on the connection that C-Kermit made.  For
  1910. example, they want to use C-Kermit as their SLIP or PPP dialer.  But they
  1911. quickly find that when they exit from C-Kermit, that the connection is gone
  1912. before they can start the other application.
  1913.  
  1914. It is a fundamental property of UNIX (and VMS, and Windows 95 and NT, and most
  1915. other modern operating systems) that when a process exits, then every file that
  1916. was opened by that process is automatically closed by the operating system.  In
  1917. most cases, closing a terminal device (such as a dialout serial port) hangs up
  1918. the modem (by turning off the DTR signal).  There is nothing the process can do
  1919. about it.
  1920.  
  1921. However, many workarounds are possible.  Here are just a few:
  1922.  
  1923.    - If your Kermit version supports the REDIRECT command, use it to start
  1924.      the desired application (e.g. "redirect pppd").  Read about the
  1925.      REDIRECT command in the second edition of Using C-Kermit.
  1926.  
  1927.    - Tell C-Kermit to SET MODEM HANGUP-METHOD RS232, and then configure
  1928.      your modem to ignore DTR (not recommended).
  1929.  
  1930.    - Find out the file descriptor of the open device (it is given by
  1931.      C-Kermit's \v(ttyfd) variable) and then run ("!") your other program
  1932.      from the C-Kermit prompt, feeding it the file descriptor, e.g.
  1933.      through shell redirection or a command line option (the method
  1934.      depends on the other program, the capabilities of the shell, etc).
  1935.  
  1936.    - After Kermit makes the connection, type "show comm" to find out the
  1937.      filename of the lock file.  Then suspend Kermit, delete the lock
  1938.      file, then start the other program and tell it to open the same tty
  1939.      device.
  1940.  
  1941. Note that you can also tell C-Kermit to use a communications file descriptor
  1942. created by another process; see the command-line options list in "Using
  1943. C-Kermit", 2nd edition.
  1944.  
  1945. -------------------------------------------------------------------------------
  1946. 28 WHAT IS SUPERKERMIT?
  1947.  
  1948. When the Kermit protocol was first developed in 1981, it had short packets and
  1949. did not use sliding windows, but the design was deliberately extensible to
  1950. allow for the addition of these and many other features later.
  1951.  
  1952. A couple years later, when we defined the protocol for long packets and sliding
  1953. windows, somebody somewhere started calling it "SuperKermit".  Really, there's
  1954. no such thing -- Kermit is Kermit.  It's an extensible protocol in which the
  1955. two file transfer partners negotiate automatically about what features they
  1956. have in common and agree to use them.
  1957.  
  1958. All modern Columbia Kermits support long packets and sliding windows (except
  1959. IBM Mainframe Kermit does not "do windows" because it exists only in a
  1960. half-duplex environment, whereas full duplex connections are needed for sliding
  1961. windows).  They also support compression, single and locking shifts (for moving
  1962. 8-bit data efficiently through 7-bit communication channels), file-transfer
  1963. recovery, dynamic packet lengths and timeouts, and all sorts of other advanced
  1964. and serious features that whoever coined the term "SuperKermit" never dreamed
  1965. about.
  1966.  
  1967. Usually when BBSs or non-Columbia communication programs refer to "SuperKermit"
  1968. they mean a 1985-vintage implementation of the Kermit protocol that implements
  1969. a primitive and not very robust form of sliding windows, usually not in
  1970. combination with long packets.  However, if it is properly implemented, it
  1971. should interoperate successfully with any other Kermit implementation, no
  1972. matter how advanced or how minimal.  That's the whole point of Kermit protocol.
  1973.  
  1974. -------------------------------------------------------------------------------
  1975. 29 IS KERMIT SOFTWARE YEAR-2000 COMPLIANT?
  1976.  
  1977. Kermit software is not, for the most part, date dependent.  It makes
  1978. connections, performs terminal emulation (in those versions that include this
  1979. feature), transfers files, translates character sets, and, in most cases,
  1980. executes scripts regardless of the date.
  1981.  
  1982. "Year 2000 compliance" depends on the Kermit program and the underlying
  1983. platform.  If the operating system, file system, BIOS, hardware, and/or other
  1984. critical component is not ready for the year 2000, then most likely Kermit
  1985. isn't either, since it relies on the underlying OS and hardware for date / time
  1986. service.
  1987.  
  1988. The primary relevance of this question to Kermit software is whether
  1989. post-millenium file dates are recognized, transmitted, received, and reproduced
  1990. correctly during the file transfer process.  This consideration, in turn,
  1991. applies only to those Kermit versions that implement the optional "Attribute
  1992. Packet" feature.  These include C-Kermit, Kermit 95, MS-DOS Kermit, Kermit-370,
  1993. and PDP-11 Kermit.  If post-millenium dates are not processed correctly, file
  1994. transfer will still take place, but the creation or modification date of the
  1995. received file might be incorrect.  The only exception would be if the "file
  1996. collision update" feature is being used to prevent unnecessary transfer of
  1997. files that have not changed since the last time a transfer took place; in this
  1998. case, a file might be transferred unnecessarily, or it might not be transferred
  1999. when it should have been.  Correct operation of the update feature depends on
  2000. both Kermit programs having the correct date and time.
  2001.  
  2002. Of secondary importance are the time stamps in the transaction and/or debug
  2003. logs, and the date-related script programming constructs, such as \v(date),
  2004. \v(ndate), \v(day), \v(nday), and perhaps also the time-related ones, \v(time)
  2005. and \v(ntime), insofar as they might be affected by the date.  Note: the
  2006. aforementioned script programming constructs are available only in C-Kermit,
  2007. Kermit 95, and MS-DOS Kermit.  The \v(ndate) is a numeric-format date of the
  2008. form yyyymmdd, suitable for comparison and sorting: e.g. 19970208 or 20011231.
  2009. If the underlying operating system returns the correct date information, these
  2010. variables will have the proper values.  If not, then scripts that make
  2011. decisions based on these variables might not operate correctly.
  2012.  
  2013. Here is the current situation for the most popular Kermit software products.
  2014. The minimum version known to be Year-2000 compliant is shown.  We make no
  2015. claims whatsoever about the underlying operating systems or file systems.  The
  2016. situation with Kermit programs not listed here is at present unknown.
  2017.  
  2018. MS-DOS:         MS-DOS Kermit: Version 3.15 or later required.
  2019.  
  2020. Windows 3.1:    MS-DOS Kermit: Version 3.15 or later required.
  2021.  
  2022. Windows 95:     Kermit 95: Version 1.1.3 or later required.
  2023.  
  2024. Windows NT:     Kermit 95: Version 1.1.3 or later required.
  2025.  
  2026. OS/2:           Kermit 95: Version 1.1.11 or later required.
  2027.  
  2028. UNIX:           C-Kermit: Version 6.0.192 or later required.
  2029.  
  2030. VMS:            C-Kermit: Yes, all versions.  Kermit-32: unknown; Kermit-32 has
  2031.                 not been supported since about 1987.
  2032.  
  2033. Stratus VOS     C-Kermit: Version 6.0.192 or later and VOS 12.3 or later
  2034.                 required.
  2035.  
  2036. VM/CMS:         CMS Version 13 and Kermit-370 Version 4.3.2 or later required.
  2037.                 Note: 4.3.2 is not formally released yet, but the patch up to
  2038.                 this version is included as an optional "new update" file with
  2039.                 the current release, 4.3.1.
  2040.  
  2041. MVS/TSO:        Kermit-370 for TSO: Version 4.3.2 or later required.
  2042.  
  2043. MVS/ROSCOE:     Kermit-370 for ROSCOE: Version 4.3.2 or later required.
  2044.  
  2045. MUSIC:          Kermit-370 for MUSIC: Version 4.3.0 or later required.
  2046.  
  2047. CICS:           Kermit-370 for CICS: Version 4.3.0 or later required.
  2048.  
  2049. RT-11:          KRT for RT-11 and TSX+: Version 3.63 or later required.
  2050.  
  2051. RSTS/E:         KRT for RSTS/E: Version 3.63 or later required.
  2052.  
  2053. -------------------------------------------------------------------------------
  2054. 30 IS THERE A KERMIT LIBRARY?
  2055.  
  2056. No, the Kermit Project does not supply an OLE or OLE-2 interface, a Kermit
  2057. library, DLL, VBX, OCX, Active X control, Delphi component, or other type of
  2058. Kermit module designed purely for embedding in other applications.  We
  2059. recommend that those who wish to embed communications functions -- connection
  2060. establishment, logging in and other dialogs, file management, data transfer --
  2061. do so by invoking an existing Kermit program -- MS-DOS Kermit for DOS or
  2062. Windows 3.x, Kermit 95 for Windows 95 or NT or OS/2, C-Kermit for UNIX or VMS,
  2063. etc -- from within their application by a combination of command-line arguments
  2064. and command files (Kermit script programs).  If you have trouble with this, ask
  2065. us for assistance.  And of course, if you are providing this application to
  2066. customers or clients, you must license the Kermit software from the Kermit
  2067. Project.
  2068.  
  2069. -------------------------------------------------------------------------------
  2070. 31 HOW DO I CALL UP A DIALBACK SERVICE?
  2071.  
  2072. A dialback service is one which you dial up to, provide some kind of
  2073. identification and/or authentication, such as a name and/or password, and then
  2074. it looks up your phone number in a database and calls you back.  It is a type
  2075. of security, based on having the phone numbers of all authorized callers, and
  2076. opening sessions for them only when they are calling from those numbers.
  2077.  
  2078. Suppose you were using a Hayes modem to make a call to a dialback service.  You
  2079. would do the following:
  2080.  
  2081. ATD7654321      (Dial the number)
  2082. CONNECT 14400   (Read the response)
  2083.  
  2084. Here you would have the identification / authentication dialog.  Now the
  2085. dialback service hangs up on you, and you must put the modem in answer mode:
  2086.  
  2087. NO CARRIER      (The connection is closed)
  2088. ATS0=1          (Tell the modem to answer the next call)
  2089.  
  2090. When the call comes in, the modem answers and you're on line.
  2091.  
  2092. But now you want to automate the process.  This is easily accomplished in
  2093. Kermit.  Let's use C-Kermit 6.0 to illustrate, since it has a new ANSWER
  2094. command.  Here is a simple script to do the job:
  2095.  
  2096. set modem type usr  ; or whatever
  2097. set port /dev/cua   ; or whatever
  2098. set speed 38400     ; or whatever
  2099. dial 7654321        ; dial the number
  2100. if fail stop
  2101.  
  2102. At this point, you would use INPUT and OUTPUT commands to accomplish the
  2103. identification / authentication dialog.  For example, if the dialback server
  2104. prompts you with USERNAME: and PASSWORD:, and your script had previously stored
  2105. these values in the variables \%u and \%p, respectively:
  2106.  
  2107. input 10 USERNAME:
  2108. if fail stop 1 No username prompt
  2109. output \%u\13
  2110. input 10 PASSWORD:
  2111. if fail stop 1 No password prompt
  2112. output \%p\13
  2113.  
  2114. Now you will need to hang up your end of the connection, and then wait for the
  2115. phone to ring:
  2116.  
  2117. hangup
  2118. answer 120
  2119. if fail stop 1 No callback
  2120.  
  2121. The ANSWER command conditions the modem for answering (ATS0=1 for Hayes and
  2122. compatible modems) and then waits the given number of seconds (120 in this
  2123. case) for the call to come in.  At this point, if the script is still
  2124. executing, you've got a connection.  You can give a CONNECT command, or execute
  2125. a login script, or whatever else you want to do.
  2126.  
  2127. -------------------------------------------------------------------------------
  2128. 32 HOW DOES THE NUMERIC KEYPAD WORK?
  2129.  
  2130.     This discussion applies to MS-DOS Kermit.  The situation with Kermit 95
  2131.     is slightly different: In Kermit 95, the Num Lock key can be mapped
  2132.     directly and the PC numeric keypad is mapped to the VT terminal
  2133.     numberic keypad by default.
  2134.  
  2135. MS-DOS Kermit reads scan codes from the PC BIOS (but if you are using Windows,
  2136. then all sorts of software layers are inserted between Kermit and BIOS, so
  2137. matters are somewhat more uncertain.
  2138.  
  2139. The BIOS reports one scan code for a numeric keypad key when Num Lock is on,
  2140. and a different code when Num Lock is off.  All that MS-DOS Kermit is doing is
  2141. reading the scan codes from (what it thinks is) the BIOS.
  2142.  
  2143. To use the PC's numeric keypad as if it were a VT terminal's numeric keypad in
  2144. MS-DOS Kermit, you must make the appropriate key assignments, since they are
  2145. not made by default.  By default, when Num Lock is not on, the keys have the
  2146. same assignments as the gray keys which have the same label (e.g.  Home, End,
  2147. Left Arrow, etc), for the benefit of 88-key keyboards.
  2148.  
  2149. To make the desired key assignments, you can use the VT300.INI file in the
  2150. KEYBOARD subdirectory of the MS-DOS Kermit directory:
  2151.  
  2152. take keyboard\vt300.ini
  2153.  
  2154. The pertinent commands from this file are:
  2155.  
  2156. set key \850 \kkp0        ; Keypad 0 (Numlock)   Keypad 0
  2157. set key \338 \kkp0        ; Keypad 0 (Normal)    Keypad 0
  2158. set key \847 \kkp1        ; Keypad 1 (Numlock)   Keypad 1
  2159. set key \335 \kkp1        ; Keypad 1 (Normal)    Keypad 1
  2160. set key \848 \kkp2        ; Keypad 2 (Numlock)   Keypad 2
  2161. set key \336 \kkp2        ; Keypad 2 (Normal)    Keypad 2
  2162. set key \849 \kkp3        ; Keypad 3 (Numlock)   Keypad 3
  2163. set key \337 \kkp3        ; Keypad 3 (Normal)    Keypad 3
  2164. set key \843 \kkp4        ; Keypad 4 (Numlock)   Keypad 4
  2165. set key \331 \kkp4        ; Keypad 4 (Normal)    Keypad 4
  2166. set key \844 \kkp5        ; Keypad 5 (Numlock)   Keypad 5
  2167. set key \332 \kkp5        ; Keypad 5 (Normal)    Keypad 5
  2168. set key \845 \kkp6        ; Keypad 6 (Numlock)   Keypad 6
  2169. set key \333 \kkp6        ; Keypad 6 (Normal)    Keypad 6
  2170. set key \839 \kkp7        ; Keypad 7 (Numlock)   Keypad 7
  2171. set key \327 \kkp7        ; Keypad 7 (Normal)    Keypad 7
  2172. set key \840 \kkp8        ; Keypad 8 (Numlock)   Keypad 8
  2173. set key \328 \kkp8        ; Keypad 8 (normal)    Keypad 8
  2174. set key \841 \kkp9        ; Keypad 9 (Numlock)   Keypad 9
  2175. set key \329 \kkp9        ; Keypad 9 (Normal)    Keypad 9
  2176.  
  2177. set key \334  \kkpminus   ; Keypad +             Keypad -
  2178. set key \2382 \kkpcoma    ; ALT Keypad +         Keypad ,
  2179. set key \851  \kkpdot     ; Keypad . (Numlock)   Keypad .
  2180. set key \339  \kkpdot     ; Keypad . (normal)    Keypad .
  2181. set key \4365 \Kkpenter   ; Keypad Enter         Keypad Enter
  2182.  
  2183.                           ; F1                   PF1 (default Kermit)
  2184.                           ; Use GOLD.COM to make Num Lock work as PF1/Gold.
  2185. set key \325 \kPF1        ; This works with WPGGOLD.COM.
  2186.  
  2187. set key \4399 \kPF2       ; Keypad /             PF2
  2188. set key \311  \kPF3       ; Keypad *             PF3
  2189. set key \330  \kPF4       ; Keypad -             PF4 Key
  2190.  
  2191. You need the GOLD TSR to make the Num Lock key work like the DEC Gold key.  The
  2192. GOLD TSR is found in the same directory as the VT300.INI file.
  2193.  
  2194. The rest of the commands in the VT300.INI file set up the function keys and
  2195. editing keys to be like the corresponding DEC VT220/320 keys.
  2196.  
  2197. But there is still one more piece to the puzzle.  As noted, the VT keypad can
  2198. be in one of two modes: numeric or application.  It is the responsibility of
  2199. the host application to send an escape sequence to put the keypad into the
  2200. appropriate mode before attempting to read keystrokes from it.  But some
  2201. applications fail to do that and simply ASSUME that the keypad is in the right
  2202. mode.  In many cases this assumption is wrong.  So MS-DOS Kermit has a command
  2203. that lets you force the keypad into the desired mode:
  2204.  
  2205. SET TERMINAL KEYPAD { APPLICATION, NUMERIC }
  2206.  
  2207. -------------------------------------------------------------------------------
  2208. 33 HOW TO GET RID OF THE "OK TO EXIT?" PROMPT?
  2209.  
  2210. When I try to exit from Kermit it says:
  2211.  
  2212. A serial connection might still be active on com2.
  2213. OK to exit?
  2214.  
  2215. But the connection is closed!  How do I make this message and prompt go away?
  2216. It prevents scripts from running unattended.
  2217.  
  2218. Short answer:
  2219.  
  2220.     SET EXIT WARNING OFF
  2221.  
  2222. Long answer:  Kermit gives this message and prompt when given the EXIT command
  2223. (explict or implied), or when told to change its communication device, and a
  2224. connection appears to be active on the current one.  On a serial device, this
  2225. means that the Carrier Detect (CD) signal is still present.  On a network
  2226. connection, it means that Kermit has not closed the connection and it does not
  2227. seem that Kermit's network partner has closed it either.
  2228.  
  2229. If you are using a modem, the best course is to fix it (or the cable) so CD
  2230. tracks the connection.  Kermit generally tries to do this itself, but sometimes
  2231. it is not possible due to switch settings in the modem.  See your modem manual
  2232. for details.
  2233.  
  2234. In some cases, however, the underlying operating system or device driver does
  2235. not provide Kermit with good information.
  2236.  
  2237. If you can't fix the modem or cable to report the connection status properly,
  2238. use SET EXIT WARNING OFF to tell Kermit to ignore the apparent connection
  2239. status upon EXIT.
  2240.  
  2241. -------------------------------------------------------------------------------
  2242. 34 HOW TO TELL KERMIT TO IGNORE DIALTONE?
  2243.  
  2244. Sometimes the telephone being used to place a modem call does not present a
  2245. dialtone that the modem recognizes.  This usually happens with PBXs, ISDN
  2246. phones, etc.  But Kermit programs generally tell the modem to wait for dialtone
  2247. before dialing.
  2248.  
  2249. To find out how to get around this feature, you'll need to look at your modem
  2250. manual.  If it's a Hayes compatible (i.e.  uses the AT command set), then it's
  2251. probably a matter of changing the "X" value in the init string.  Most Kermit
  2252. init strings use X4, in order to get the widest possible selection of result
  2253. codes.  In many modems, X3 is used to select "blind dialing" (i.e. without
  2254. waiting for dialtone), but this also sacrifices the ability to get a BUSY
  2255. response, and therefore to redial automatically if the line is busy.  Hopefully
  2256. your modem has finer-grained selections.
  2257.  
  2258. In C-Kermit or Kermit 95, a good way to change the X value in the init string
  2259. is, after you set your modem type:
  2260.   set modem type xxxx
  2261.   set modem command init \freplace(\v(m_init),X4,X3)
  2262.  
  2263. This assumes your modem type is "xxxx", and its init string contains X4.
  2264.  
  2265. In MS-DOS Kermit, just edit the dialing script.
  2266.  
  2267. -------------------------------------------------------------------------------
  2268. 35 WHERE IS THE DIALING SCRIPT FOR MY MODEM?
  2269.  
  2270. C-Kermit and Kermit 95 do not use dialing scripts; their modem support is built
  2271. in.  To see a list of the modems supported, type:
  2272.  
  2273. set modem type ?
  2274.  
  2275. at the prompt.  If your modem is not listed, then (a) maybe one of the other
  2276. modem types will work ("generic-high-speed" is usually a good guess), and (b)
  2277. you can install your own modem definition as described on pages 90-92 of Using
  2278. C-Kermit; this, of course, requires knowledge of how to operate your modem,
  2279. which comes from reading the manual (if any) that came with it.
  2280.  
  2281. MS-DOS Kermit, on the other hand, uses dialing scripts, one per modem type.
  2282. The ones we have are in the MODEMS subdirectory of your MS-DOS Kermit
  2283. directory.  If you don't see one there for your modem, it is easy to adapt one
  2284. of the existing ones.  Just use a text editor to change the modem-specific
  2285. commands to the ones for your modem; consult your modem manual to find out what
  2286. its commands are.
  2287.  
  2288. In either case, if you have added support for a new modem, please send your new
  2289. definitions or script back to us, along with a complete description of your
  2290. modem's manufacturer, name, model designation, and features (modulation, error
  2291. correction and compression protocols, etc), so we can make them available to
  2292. others.
  2293.  
  2294. -------------------------------------------------------------------------------
  2295. 36 I'M HAVING TERMINAL EMULATION PROBLEMS WITH C-KERMIT
  2296.  
  2297. C-Kermit on UNIX, VMS, etc, does not perform terminal emulation at all; nobody
  2298. ever claimed it did.  Instead, it is a semitransparent (or, if you make it so)
  2299. a fully transparent communications pipe between the remote computer or service
  2300. and your local terminal, terminal emulator, terminal window, or console, which
  2301. provides the terminal functions.  Thus, it is similar to Telnet, cu, tip, "set
  2302. host" in VMS, etc, but with added functionality (file transfer and management,
  2303. character-set translation, scripting, etc).
  2304.  
  2305. If you experience fractured screens, you probably have a mismatch between the
  2306. type of terminal or emulator you are running C-Kermit and the type the remote
  2307. host or service thinks you have.  Solution: let the host know what type of
  2308. terminal you really have.  For example, in Linux it would be ANSI or SCOANSI.
  2309. In an HPTERM window, it would be HPTERM.  In an AIX window, it would be
  2310. AIXTERM, etc.
  2311.  
  2312. If your arrow and function keys don't work, then you must configure your
  2313. terminal or emulator to have these keys send what the host or application
  2314. expects them to send.  The method for doing this depends on your terminal or
  2315. emulator.  For example, when using xterm or another X-based terminal window,
  2316. use xmodmap to configure your keyboard.  C-Kermit itself can't be used for this
  2317. (even though it has a SET KEY command) because it can't "see" the special keys
  2318. (arrow keys, function keys, editing keys, etc).
  2319.  
  2320. If host-directed transparent printing doesn't work, this is a deficiency in
  2321. your terminal or emulator and has nothing to do with Kermit.  However, if you
  2322. have the ability to change the host application, then you can use C-Kermit's
  2323. autodownload and/or APC features to accomplish the same thing.  See the manual
  2324. for details.
  2325.  
  2326. -------------------------------------------------------------------------------
  2327. 37 DIVIDE OVERFLOW IN MS-DOS KERMIT
  2328.  
  2329. If you find that MS-DOS Kermit is giving you "Divide Overflow" errors after an
  2330. OS or hardware upgrade, or on a new PC:
  2331.  
  2332.    - If your PC is running Windows 95, Windows NT, or OS/2, then you
  2333.      should run the 32-bit version of Kermit for those platforms Kermit
  2334.      95.  This is the only Kermit software that is recommended or
  2335.      supported for Windows 95, Windows NT, or OS/2.
  2336.  
  2337.    - If your PC is running DOS (MS-DOS, PC-DOS, DR-DOS, etc) as its base
  2338.      operating system (and perhaps Windows 3.x on top of that), then
  2339.      upgrade your version of MS-DOS Kermit to the current release, MS-DOS
  2340.      Kermit 3.15
  2341.  
  2342. -------------------------------------------------------------------------------
  2343. (End)